}
public function doDBUpdates() {
+ $dbw = $this->getDB( DB_MASTER );
+
+ if ( !$dbw->tableExists( 'ip_changes' ) ) {
+ $this->fatalError( 'ip_changes table does not exist' );
+ }
+
$lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
$dbr = $this->getDB( DB_REPLICA, [ 'vslow' ] );
- $dbw = $this->getDB( DB_MASTER );
$throttle = intval( $this->getOption( 'throttle', 0 ) );
$maxRevId = intval( $this->getOption( 'max-rev-id', 0 ) );
$start = $this->getOption( 'rev-id', 0 );
$this->output( "Copying IP revisions to ip_changes, from rev_id $start to rev_id $end\n" );
while ( $blockStart <= $end ) {
- $blockEnd = min( $blockStart + $this->mBatchSize, $end );
+ $blockEnd = min( $blockStart + $this->getBatchSize(), $end );
$rows = $dbr->select(
'revision',
[ 'rev_id', 'rev_timestamp', 'rev_user_text' ],
- [ "rev_id BETWEEN $blockStart AND $blockEnd", 'rev_user' => 0 ],
+ [ "rev_id BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd, 'rev_user' => 0 ],
__METHOD__
);
}
}
- $dbw->insert(
- 'ip_changes',
- $insertRows,
- __METHOD__,
- 'IGNORE'
- );
+ if ( $insertRows ) {
+ $dbw->insert( 'ip_changes', $insertRows, __METHOD__, 'IGNORE' );
- $inserted += $dbw->affectedRows();
+ $inserted += $dbw->affectedRows();
+ }
$lbFactory->waitForReplication();
usleep( $throttle * 1000 );