diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-06-06 16:16:44 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-06-06 16:16:44 +0200 |
commit | c053f2738162ae50da886833004bf39aed8387a5 (patch) | |
tree | 32910fad713235fff26f9678277a052dd11b78f7 /lib | |
parent | 933c05566e21c27e4f2d4b4e9c2d54e7b363d304 (diff) | |
parent | 26993f216744e78a22adb62c5c7aa233027db98a (diff) | |
download | nextcloud-server-c053f2738162ae50da886833004bf39aed8387a5.tar.gz nextcloud-server-c053f2738162ae50da886833004bf39aed8387a5.zip |
Merge pull request #8921 from owncloud/fix-remove-storage-master
No need to create a storage within remove
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/files/cache/storage.php | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/lib/private/files/cache/storage.php b/lib/private/files/cache/storage.php index 6b6b0bce9d7..3a267874431 100644 --- a/lib/private/files/cache/storage.php +++ b/lib/private/files/cache/storage.php @@ -43,12 +43,15 @@ class Storage { } } + /** + * @return string + */ public function getNumericId() { return $this->numericId; } /** - * @return string + * @return string|null */ public static function getStorageId($numericId) { @@ -62,37 +65,46 @@ class Storage { } /** - * @param string $storageId + * @return string|null */ - public static function exists($storageId) { + public static function getNumericStorageId($storageId) { if (strlen($storageId) > 64) { $storageId = md5($storageId); } + $sql = 'SELECT `numeric_id` FROM `*PREFIX*storages` WHERE `id` = ?'; $result = \OC_DB::executeAudited($sql, array($storageId)); if ($row = $result->fetchRow()) { - return true; + return $row['numeric_id']; } else { - return false; + return null; } } /** + * @param string $storageId + * @return bool + */ + public static function exists($storageId) { + return !is_null(self::getNumericStorageId($storageId)); + } + + /** * remove the entry for the storage * * @param string $storageId */ public static function remove($storageId) { - $storageCache = new Storage($storageId); - $numericId = $storageCache->getNumericId(); - if (strlen($storageId) > 64) { $storageId = md5($storageId); } $sql = 'DELETE FROM `*PREFIX*storages` WHERE `id` = ?'; \OC_DB::executeAudited($sql, array($storageId)); - $sql = 'DELETE FROM `*PREFIX*filecache` WHERE `storage` = ?'; - \OC_DB::executeAudited($sql, array($numericId)); + $numericId = self::exists($storageId); + if (!is_null($numericId)) { + $sql = 'DELETE FROM `*PREFIX*filecache` WHERE `storage` = ?'; + \OC_DB::executeAudited($sql, array($numericId)); + } } } |