diff --git a/lib/private/Files/Cache/Storage.php b/lib/private/Files/Cache/Storage.php index 72aaac11c5..c076cc2835 100644 --- a/lib/private/Files/Cache/Storage.php +++ b/lib/private/Files/Cache/Storage.php @@ -81,7 +81,7 @@ class Storage { if ($row = self::getStorageById($this->storageId)) { $this->numericId = (int)$row['numeric_id']; } else { - throw new \RuntimeException('Storage could neither be inserted nor be selected from the database'); + throw new \RuntimeException('Storage could neither be inserted nor be selected from the database: ' . $this->storageId); } } } diff --git a/lib/private/Files/Cache/StorageGlobal.php b/lib/private/Files/Cache/StorageGlobal.php index 65f689f187..076b5b8f53 100644 --- a/lib/private/Files/Cache/StorageGlobal.php +++ b/lib/private/Files/Cache/StorageGlobal.php @@ -69,7 +69,15 @@ class StorageGlobal { */ public function getStorageInfo($storageId) { if (!isset($this->cache[$storageId])) { - $this->loadForStorageIds([$storageId]); + $builder = $this->connection->getQueryBuilder(); + $query = $builder->select(['id', 'numeric_id', 'available', 'last_checked']) + ->from('storages') + ->where($builder->expr()->eq('id', $builder->createNamedParameter($storageId))); + + $row = $query->execute()->fetch(); + if ($row) { + $this->cache[$storageId] = $row; + } } return isset($this->cache[$storageId]) ? $this->cache[$storageId] : null; }