}
$this->output( "Populating rev_sha1 column\n" );
- $rc = $this->doSha1Updates( 'revision', 'rev_id', 'rev' );
+ $rc = $this->doSha1Updates( 'revision', 'rev_id', Revision::selectFields(), 'rev' );
$this->output( "Populating ar_sha1 column\n" );
- $ac = $this->doSha1Updates( 'archive', 'ar_rev_id', 'ar' );
+ $ac = $this->doSha1Updates( 'archive', 'ar_rev_id', Revision::selectArchiveFields(), 'ar' );
$this->output( "Populating ar_sha1 column legacy rows\n" );
$ac += $this->doSha1LegacyUpdates();
* @param string $prefix
* @return int Rows changed
*/
- protected function doSha1Updates( $table, $idCol, $prefix ) {
+ protected function doSha1Updates( $table, $idCol, $fields, $prefix ) {
$db = $this->getDB( DB_MASTER );
$start = $db->selectField( $table, "MIN($idCol)", false, __METHOD__ );
$end = $db->selectField( $table, "MAX($idCol)", false, __METHOD__ );
$this->output( "...doing $idCol from $blockStart to $blockEnd\n" );
$cond = "$idCol BETWEEN $blockStart AND $blockEnd
AND $idCol IS NOT NULL AND {$prefix}_sha1 = ''";
- $res = $db->select( $table, '*', $cond, __METHOD__ );
+ $res = $db->select( $table, $fields, $cond, __METHOD__ );
$this->beginTransaction( $db, __METHOD__ );
foreach ( $res as $row ) {
protected function doSha1LegacyUpdates() {
$count = 0;
$db = $this->getDB( DB_MASTER );
- $res = $db->select( 'archive', '*',
- array( 'ar_rev_id IS NULL', 'ar_sha1' => '' ), __METHOD__ );
+ $res = $db->select( 'archive', Revision::selectArchiveFields(),
+ [ 'ar_rev_id IS NULL', 'ar_sha1' => '' ], __METHOD__ );
$updateSize = 0;
$this->beginTransaction( $db, __METHOD__ );
} catch ( Exception $e ) {
$this->output( "Data of revision with {$idCol}={$row->$idCol} unavailable!\n" );
- return false; // bug 22624?
+ return false; // T24624?
}
if ( !is_string( $text ) ) {
- # This should not happen, but sometimes does (bug 20757)
+ # This should not happen, but sometimes does (T22757)
$this->output( "Data of revision with {$idCol}={$row->$idCol} unavailable!\n" );
return false;
} else {
$db->update( $table,
- array( "{$prefix}_sha1" => Revision::base36Sha1( $text ) ),
- array( $idCol => $row->$idCol ),
+ [ "{$prefix}_sha1" => Revision::base36Sha1( $text ) ],
+ [ $idCol => $row->$idCol ],
__METHOD__
);
} catch ( Exception $e ) {
$this->output( "Text of revision with timestamp {$row->ar_timestamp} unavailable!\n" );
- return false; // bug 22624?
+ return false; // T24624?
}
$text = $rev->getSerializedData();
if ( !is_string( $text ) ) {
- # This should not happen, but sometimes does (bug 20757)
+ # This should not happen, but sometimes does (T22757)
$this->output( "Data of revision with timestamp {$row->ar_timestamp} unavailable!\n" );
return false;
# Archive table as no PK, but (NS,title,time) should be near unique.
# Any duplicates on those should also have duplicated text anyway.
$db->update( 'archive',
- array( 'ar_sha1' => Revision::base36Sha1( $text ) ),
- array(
+ [ 'ar_sha1' => Revision::base36Sha1( $text ) ],
+ [
'ar_namespace' => $row->ar_namespace,
'ar_title' => $row->ar_title,
'ar_timestamp' => $row->ar_timestamp,
'ar_len' => $row->ar_len // extra sanity
- ),
+ ],
__METHOD__
);