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

Change subject: API: Don't use an empty LinkBatch in ApiOpenSearch, part 2.
......................................................................


API: Don't use an empty LinkBatch in ApiOpenSearch, part 2.

While Ie4609b08 took care of the empty $titles case, we get the same
problem if $titles is non-empty but contains only Special-namespace
titles.

Bug: T78074
Change-Id: Ic6572628e1da9953ef8212e49d4944e94d799f44
---
M includes/api/ApiOpenSearch.php
1 file changed, 17 insertions(+), 15 deletions(-)

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



diff --git a/includes/api/ApiOpenSearch.php b/includes/api/ApiOpenSearch.php
index af09656..5fc9f2b 100644
--- a/includes/api/ApiOpenSearch.php
+++ b/includes/api/ApiOpenSearch.php
@@ -135,22 +135,24 @@
 
                if ( $resolveRedir ) {
                        // Query for redirects
-                       $db = $this->getDb();
-                       $lb = new LinkBatch( $titles );
-                       $res = $db->select(
-                               array( 'page', 'redirect' ),
-                               array( 'page_namespace', 'page_title', 
'rd_namespace', 'rd_title' ),
-                               array(
-                                       'rd_from = page_id',
-                                       'rd_interwiki IS NULL OR rd_interwiki = 
' . $db->addQuotes( '' ),
-                                       $lb->constructSet( 'page', $db ),
-                               ),
-                               __METHOD__
-                       );
                        $redirects = array();
-                       foreach ( $res as $row ) {
-                               
$redirects[$row->page_namespace][$row->page_title] =
-                                       array( $row->rd_namespace, 
$row->rd_title );
+                       $lb = new LinkBatch( $titles );
+                       if ( !$lb->isEmpty() ) {
+                               $db = $this->getDb();
+                               $res = $db->select(
+                                       array( 'page', 'redirect' ),
+                                       array( 'page_namespace', 'page_title', 
'rd_namespace', 'rd_title' ),
+                                       array(
+                                               'rd_from = page_id',
+                                               'rd_interwiki IS NULL OR 
rd_interwiki = ' . $db->addQuotes( '' ),
+                                               $lb->constructSet( 'page', $db 
),
+                                       ),
+                                       __METHOD__
+                               );
+                               foreach ( $res as $row ) {
+                                       
$redirects[$row->page_namespace][$row->page_title] =
+                                               array( $row->rd_namespace, 
$row->rd_title );
+                               }
                        }
 
                        // Bypass any redirects

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ic6572628e1da9953ef8212e49d4944e94d799f44
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: Umherirrender <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to