From 9653fc56ad64b6d94b6bfaacfaff89b15e54a88c Mon Sep 17 00:00:00 2001 From: Umherirrender Date: Mon, 4 Aug 2025 21:28:02 +0200 Subject: [PATCH] maintenance: Fix paging in findMissingFiles.php When there are more files as the batch size, the script loops as the where condition is not changed. Bug: T401088 Change-Id: Ic52ea24de0bd68db9e7d84e2f1b1067b20c2836d (cherry picked from commit 9a162bff8add74a1b797cf0769b8601d440cc231) --- maintenance/findMissingFiles.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/maintenance/findMissingFiles.php b/maintenance/findMissingFiles.php index 01995b868e8..3f3dc7a204c 100644 --- a/maintenance/findMissingFiles.php +++ b/maintenance/findMissingFiles.php @@ -47,7 +47,6 @@ class FindMissingFiles extends Maintenance { $queryBuilder = $dbr->newSelectQueryBuilder() ->select( [ 'name' => 'img_name' ] ) ->from( 'image' ) - ->where( $dbr->expr( 'img_name', '>', $lastName ) ) ->groupBy( 'name' ) ->orderBy( 'name' ) ->limit( $batchSize ); @@ -67,7 +66,9 @@ class FindMissingFiles extends Maintenance { } do { - $res = $queryBuilder->caller( __METHOD__ )->fetchResultSet(); + $res = ( clone $queryBuilder ) + ->where( $dbr->expr( 'img_name', '>', $lastName ) ) + ->caller( __METHOD__ )->fetchResultSet(); // Check if any of these files are missing... $pathsByName = [];