26 $this->
output(
"Fixing log entries with log_title starting with 'User:#'\n" );
32 $lastProcessedLogId = 0;
36 $logIds = $dbr->newSelectQueryBuilder()
40 'log_type' =>
'block',
41 'log_action' =>
'unblock',
42 $dbr->expr(
'log_id',
'>', $lastProcessedLogId ),
45 ->orderBy(
'log_id', SelectQueryBuilder::SORT_ASC )
46 ->caller( __METHOD__ )
49 if ( count( $logIds ) ) {
50 $lastId = end( $logIds );
51 $firstId = reset( $logIds );
52 $this->
output(
"...Processing unblock rows with IDs $firstId to $lastId\n" );
56 $matchingRows = $dbr->newSelectQueryBuilder()
57 ->select( [
'log_id',
'log_title' ] )
62 new LikeValue(
'User:#', $dbr->anyString() )
64 ->andWhere( [
'log_id' => $logIds ] )
66 ->caller( __METHOD__ )
69 foreach ( $matchingRows as $row ) {
70 $dbw->newUpdateQueryBuilder()
72 ->set( [
'log_title' => substr( $row->log_title, strlen(
'User:' ) ) ] )
73 ->where( [
'log_id' => $row->log_id ] )
74 ->caller( __METHOD__ )
76 $totalRowsFixed += $dbw->affectedRows();
82 $lastProcessedLogId = end( $logIds );
83 }
while ( count( $logIds ) );
88 if ( $totalRowsFixed ) {
89 $this->
output(
" Fixed $totalRowsFixed rows." );