public function __construct() {
parent::__construct();
$this->addDescription( 'Updates page_restrictions table from old page_restriction column' );
- $this->setBatchSize( 100 );
+ $this->setBatchSize( 1000 );
}
public function execute() {
$db = $this->getDB( DB_MASTER );
+ $batchSize = $this->getBatchSize();
if ( !$db->tableExists( 'page_restrictions' ) ) {
- $this->error( "page_restrictions table does not exist", true );
+ $this->fatalError( "page_restrictions table does not exist" );
}
- $start = $db->selectField( 'page', 'MIN(page_id)', false, __METHOD__ );
+ $start = $db->selectField( 'page', 'MIN(page_id)', '', __METHOD__ );
if ( !$start ) {
- $this->error( "Nothing to do.", true );
+ $this->fatalError( "Nothing to do." );
}
- $end = $db->selectField( 'page', 'MAX(page_id)', false, __METHOD__ );
+ $end = $db->selectField( 'page', 'MAX(page_id)', '', __METHOD__ );
# Do remaining chunk
- $end += $this->mBatchSize - 1;
+ $end += $batchSize - 1;
$blockStart = $start;
- $blockEnd = $start + $this->mBatchSize - 1;
+ $blockEnd = $start + $batchSize - 1;
$encodedExpiry = 'infinity';
while ( $blockEnd <= $end ) {
- $this->output( "...doing page_id from $blockStart to $blockEnd\n" );
- $cond = "page_id BETWEEN $blockStart AND $blockEnd AND page_restrictions !=''";
+ $this->output( "...doing page_id from $blockStart to $blockEnd out of $end\n" );
+ $cond = "page_id BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd .
+ " AND page_restrictions !=''";
$res = $db->select(
'page',
[ 'page_id', 'page_namespace', 'page_restrictions' ],
throw new MWException( "Deadlock loop failed wtf :(" );
}
}
- $blockStart += $this->mBatchSize - 1;
- $blockEnd += $this->mBatchSize - 1;
+ $blockStart += $batchSize - 1;
+ $blockEnd += $batchSize - 1;
wfWaitForSlaves();
}
$this->output( "...removing dead rows from page_restrictions\n" );
}
}
-$maintClass = "UpdateRestrictions";
+$maintClass = UpdateRestrictions::class;
require_once RUN_MAINTENANCE_IF_MAIN;