From 26993f216744e78a22adb62c5c7aa233027db98a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Fri, 6 Jun 2014 11:39:35 +0200 Subject: [PATCH] No need to create a storage within remove --- lib/private/files/cache/storage.php | 32 ++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/lib/private/files/cache/storage.php b/lib/private/files/cache/storage.php index 6b6b0bce9d..3a26787443 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)); + } } }