From 1f664ea4ebc686f3879e806d2059a85df18e3cd2 Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Tue, 18 Sep 2018 12:01:32 -0400 Subject: [PATCH] WatchedItemStore::countVisitingWatchersMultiple() shouldn't query all titles when asked for none If a caller gives an empty array for $targetsWithVisitThresholds, per the documentation it should be expecting an empty array in return, not a count of watchers for every title in the database. Bug: T204729 Change-Id: I0f25fae301450d077bb30597281aaef0fba209d4 (cherry picked from commit f5469d36602cb2a95396830b14e9a631d698f3a6) --- RELEASE-NOTES-1.31 | 8 ++++++++ includes/watcheditem/WatchedItemStore.php | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/RELEASE-NOTES-1.31 b/RELEASE-NOTES-1.31 index b0da15a0df..0898863d5c 100644 --- a/RELEASE-NOTES-1.31 +++ b/RELEASE-NOTES-1.31 @@ -1,3 +1,11 @@ +== MediaWiki 1.31.2 == + +THIS IS NOT A RELEASE YET + +=== Changes since MediaWiki 1.31.1 === +* (T204729) WatchedItemStore::countVisitingWatchersMultiple() shouldn't query all + titles when asked for none + == MediaWiki 1.31.1 == This is a security and maintenance release of the MediaWiki 1.31 branch. diff --git a/includes/watcheditem/WatchedItemStore.php b/includes/watcheditem/WatchedItemStore.php index 6e907deef8..6b0c2aab11 100644 --- a/includes/watcheditem/WatchedItemStore.php +++ b/includes/watcheditem/WatchedItemStore.php @@ -407,6 +407,11 @@ class WatchedItemStore implements WatchedItemStoreInterface, StatsdAwareInterfac array $targetsWithVisitThresholds, $minimumWatchers = null ) { + if ( $targetsWithVisitThresholds === [] ) { + // No titles requested => no results returned + return []; + } + $dbr = $this->getConnectionRef( DB_REPLICA ); $conds = $this->getVisitingWatchersCondition( $dbr, $targetsWithVisitThresholds ); -- 2.20.1