X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/modifier.php?a=blobdiff_plain;f=maintenance%2FpopulateRecentChangesSource.php;h=0a53dd614b8e3cfdae6a5e4924720db61044f26f;hb=f0736cacdd846e31a7a95616949c298376e84c9b;hp=ac87cf3ecb028853b0a521de986fd99b25e08437;hpb=e968a1f431ad058dcb14adb2757bde5664b99a79;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/populateRecentChangesSource.php b/maintenance/populateRecentChangesSource.php index ac87cf3ecb..0a53dd614b 100644 --- a/maintenance/populateRecentChangesSource.php +++ b/maintenance/populateRecentChangesSource.php @@ -23,6 +23,8 @@ require_once __DIR__ . '/Maintenance.php'; +use Wikimedia\Rdbms\IDatabase; + /** * Maintenance script to populate the rc_source field. * @@ -39,6 +41,7 @@ class PopulateRecentChangesSource extends LoggedUpdateMaintenance { protected function doDBUpdates() { $dbw = $this->getDB( DB_MASTER ); + $batchSize = $this->getBatchSize(); if ( !$dbw->fieldExists( 'recentchanges', 'rc_source' ) ) { $this->error( 'rc_source field in recentchanges table does not exist.' ); } @@ -50,21 +53,19 @@ class PopulateRecentChangesSource extends LoggedUpdateMaintenance { return true; } $end = $dbw->selectField( 'recentchanges', 'MAX(rc_id)', false, __METHOD__ ); - $end += $this->mBatchSize - 1; + $end += $batchSize - 1; $blockStart = $start; - $blockEnd = $start + $this->mBatchSize - 1; + $blockEnd = $start + $batchSize - 1; $updatedValues = $this->buildUpdateCondition( $dbw ); while ( $blockEnd <= $end ) { - $cond = "rc_id BETWEEN $blockStart AND $blockEnd"; - $dbw->update( 'recentchanges', [ $updatedValues ], [ "rc_source = ''", - "rc_id BETWEEN $blockStart AND $blockEnd" + "rc_id BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd ], __METHOD__ ); @@ -72,8 +73,8 @@ class PopulateRecentChangesSource extends LoggedUpdateMaintenance { $this->output( "." ); wfWaitForSlaves(); - $blockStart += $this->mBatchSize; - $blockEnd += $this->mBatchSize; + $blockStart += $batchSize; + $blockEnd += $batchSize; } $this->output( "\nDone.\n" ); @@ -83,7 +84,7 @@ class PopulateRecentChangesSource extends LoggedUpdateMaintenance { return __CLASS__; } - protected function buildUpdateCondition( Database $dbw ) { + protected function buildUpdateCondition( IDatabase $dbw ) { $rcNew = $dbw->addQuotes( RC_NEW ); $rcSrcNew = $dbw->addQuotes( RecentChange::SRC_NEW ); $rcEdit = $dbw->addQuotes( RC_EDIT );