$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() {
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() {
$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 ) {
$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
}
}