jenkins-bot has submitted this change and it was merged.

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
---
M maintenance/refreshLinks.php
1 file changed, 4 insertions(+), 3 deletions(-)

Approvals:
  TTO: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/maintenance/refreshLinks.php b/maintenance/refreshLinks.php
index 5d311ad..f6c721f 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/228417
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I21678bc3c83946f2e62afe3fdc69c7e84678ceeb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: PleaseStand <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: Alex Monk <[email protected]>
Gerrit-Reviewer: Parent5446 <[email protected]>
Gerrit-Reviewer: TTO <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to