diff options
-rw-r--r-- | lib/repair/repairmimetypes.php | 12 |
1 files changed, 6 insertions, 6 deletions
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)); } } |