Delete from oldimage, then image, to account for possible foreign keys. Bug 12520...
authorGreg Sabino Mullane <greg@users.mediawiki.org>
Sun, 10 Feb 2008 16:59:44 +0000 (16:59 +0000)
committerGreg Sabino Mullane <greg@users.mediawiki.org>
Sun, 10 Feb 2008 16:59:44 +0000 (16:59 +0000)
includes/filerepo/LocalFile.php

index f992aa3..9b06fe2 100644 (file)
@@ -1308,9 +1308,6 @@ class LocalFileDeleteBatch {
        function doDBDeletes() {
                $dbw = $this->file->repo->getMasterDB();
                list( $oldRels, $deleteCurrent ) = $this->getOldRels();
-               if ( $deleteCurrent ) {
-                       $dbw->delete( 'image', array( 'img_name' => $this->file->getName() ), __METHOD__ );
-               }
                if ( count( $oldRels ) ) {
                        $dbw->delete( 'oldimage', 
                                array(
@@ -1318,6 +1315,9 @@ class LocalFileDeleteBatch {
                                        'oi_archive_name IN (' . $dbw->makeList( array_keys( $oldRels ) ) . ')' 
                                ), __METHOD__ );
                }
+               if ( $deleteCurrent ) {
+                       $dbw->delete( 'image', array( 'img_name' => $this->file->getName() ), __METHOD__ );
+               }
        }
 
        /**