TTO has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/229664

Change subject: refreshLinks.php: Fix deletion of link entries from nonexistent 
pages
......................................................................

refreshLinks.php: Fix deletion of link entries from nonexistent pages

After checking a chunk of one of the links tables, the script failed
to restore the original chunk start when checking the next table.

Follows-up a1e005155921.

Bug: T107632
Change-Id: I21678bc3c83946f2e62afe3fdc69c7e84678ceeb
(cherry picked from commit 6a1e956428adea767bba30093a64d0c2ba350bb4)
---
M maintenance/refreshLinks.php
1 file changed, 4 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/64/229664/1

diff --git a/maintenance/refreshLinks.php b/maintenance/refreshLinks.php
index e1b6ac6..a2484aa 100644
--- a/maintenance/refreshLinks.php
+++ b/maintenance/refreshLinks.php
@@ -327,13 +327,14 @@
 
                foreach ( $linksTables as $table => $field ) {
                        $this->output( "    $table: 0" );
+                       $tableStart = $start;
                        $counter = 0;
                        do {
                                $ids = $dbr->selectFieldValues(
                                        $table,
                                        $field,
                                        array(
-                                               self::intervalCond( $dbr, 
$field, $start, $end ),
+                                               self::intervalCond( $dbr, 
$field, $tableStart, $end ),
                                                "$field NOT IN 
({$dbr->selectSQLText( 'page', 'page_id' )})",
                                        ),
                                        __METHOD__,
@@ -346,10 +347,10 @@
                                        wfWaitForSlaves();
                                        $dbw->delete( $table, array( $field => 
$ids ), __METHOD__ );
                                        $this->output( ", $counter" );
-                                       $start = $ids[$numIds - 1] + 1;
+                                       $tableStart = $ids[$numIds - 1] + 1;
                                }
 
-                       } while ( $numIds >= $batchSize && ( $end === null || 
$start <= $end ) );
+                       } while ( $numIds >= $batchSize && ( $end === null || 
$tableStart <= $end ) );
 
                        $this->output( " deleted.\n" );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/229664
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I21678bc3c83946f2e62afe3fdc69c7e84678ceeb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: REL1_25
Gerrit-Owner: TTO <[email protected]>
Gerrit-Reviewer: PleaseStand <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to