From 262d7e659dd5afddc7339bac60da164753b243ad Mon Sep 17 00:00:00 2001 From: Victor Dubiniuk Date: Tue, 9 Jun 2015 01:02:26 +0300 Subject: Reduce amount of rows to update --- lib/repair/repairmimetypes.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lib') diff --git a/lib/repair/repairmimetypes.php b/lib/repair/repairmimetypes.php index 1b36894eed8..76050f32f18 100644 --- a/lib/repair/repairmimetypes.php +++ b/lib/repair/repairmimetypes.php @@ -76,11 +76,8 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep { private static function updateByNameStmt() { return \OC_DB::prepare(' UPDATE `*PREFIX*filecache` - SET `mimetype` = ( - SELECT `id` - FROM `*PREFIX*mimetypes` - WHERE `mimetype` = ? - ) WHERE `name` ILIKE ? + SET `mimetype` = ? + WHERE `mimetype` <> ? AND `name` ILIKE ? '); } @@ -122,9 +119,12 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep { // insert mimetype \OC_DB::executeAudited(self::insertStmt(), array($mimetype)); } + + // get target mimetype id + $mimetypeId = \OC_DB::executeAudited(self::getIdStmt(), array($mimetype)); // change mimetype for files with x extension - \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetype, '%.' . $extension)); + \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetypeId, $mimetypeId, '%.' . $extension)); } } -- cgit v1.2.3 From 0235e5edd37478ce34eb259b48376d452cdf36c2 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 9 Jun 2015 16:35:11 +0200 Subject: Fix fetching the mimetype id from the query --- lib/repair/repairmimetypes.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/repair/repairmimetypes.php b/lib/repair/repairmimetypes.php index 76050f32f18..fa6aa1130d6 100644 --- a/lib/repair/repairmimetypes.php +++ b/lib/repair/repairmimetypes.php @@ -121,7 +121,8 @@ class RepairMimeTypes extends BasicEmitter implements \OC\RepairStep { } // get target mimetype id - $mimetypeId = \OC_DB::executeAudited(self::getIdStmt(), array($mimetype)); + $result = \OC_DB::executeAudited(self::getIdStmt(), array($mimetype)); + $mimetypeId = $result->fetchOne(); // change mimetype for files with x extension \OC_DB::executeAudited(self::updateByNameStmt(), array($mimetypeId, $mimetypeId, '%.' . $extension)); -- cgit v1.2.3