w/s
[lhc/web/wiklou.git] / maintenance / populateImageSha1.php
index 4fee6fe..5222c2d 100644 (file)
@@ -29,7 +29,6 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
                $this->addOption( 'method', "Use 'pipe' to pipe to mysql command line,\n" .
                        "\t\tdefault uses Database class", false, true );
                $this->addOption( 'file', 'Fix for a specific file, without File: namespace prefixed', false, true );
-               $this->setBatchSize( 200 );
        }
 
        protected function getUpdateKey() {
@@ -40,8 +39,12 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
                return 'img_sha1 column of image table already populated.';
        }
 
-       protected function updatelogFailedMessage() {
-               return 'Could not insert img_sha1 population row.';
+       public function execute() {
+               if ( $this->getOption( 'file' ) ) {
+                       $this->doDBUpdates(); // skip update log checks/saves
+               } else {
+                       parent::execute();
+               }
        }
 
        public function doDBUpdates() {
@@ -51,10 +54,10 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
                $t = -microtime( true );
                $dbw = wfGetDB( DB_MASTER );
                if ( $file ) {
-                       $res = $dbw->selectRow(
+                       $res = $dbw->select(
                                'image',
                                array( 'img_name' ),
-                               array( 'img_name' => $dbw->addQuotes( $file ) ),
+                               array( 'img_name' => $file ),
                                __METHOD__
                        );
                        if ( !$res ) {
@@ -110,11 +113,7 @@ class PopulateImageSha1 extends LoggedUpdateMaintenance {
                $t += microtime( true );
                $this->output( sprintf( "\nDone %d files in %.1f seconds\n", $numRows, $t ) );
 
-               if ( $file ) {
-                       return false; // we only updated *some* files, don't log
-               } else {
-                       return true;
-               }
+               return !$file; // we only updated *some* files, don't log
        }
 }