From: Aaron Schulz Date: Fri, 23 Sep 2016 02:53:58 +0000 (-0700) Subject: Reduce queries in CategoryViewer via addGoodLinkObjFromRow() X-Git-Tag: 1.31.0-rc.0~5368 X-Git-Url: http://git.cyclocoop.org/%7B%24admin_url%7Dcompta/comptes/journal.php?a=commitdiff_plain;h=1885a1ac462c08a3f25e8e8d47205cb18213821b;p=lhc%2Fweb%2Fwiklou.git Reduce queries in CategoryViewer via addGoodLinkObjFromRow() Change-Id: Id782b50f166efbee6c9f8b9b263f09fc5fb5e3f2 --- diff --git a/includes/CategoryViewer.php b/includes/CategoryViewer.php index a8e988f614..53e855bdb0 100644 --- a/includes/CategoryViewer.php +++ b/includes/CategoryViewer.php @@ -19,6 +19,7 @@ * * @file */ +use MediaWiki\MediaWikiServices; class CategoryViewer extends ContextSource { /** @var int */ @@ -317,10 +318,19 @@ class CategoryViewer extends ContextSource { $res = $dbr->select( [ 'page', 'categorylinks', 'category' ], - [ 'page_id', 'page_title', 'page_namespace', 'page_len', - 'page_is_redirect', 'cl_sortkey', 'cat_id', 'cat_title', - 'cat_subcats', 'cat_pages', 'cat_files', - 'cl_sortkey_prefix', 'cl_collation' ], + array_merge( + LinkCache::getSelectFields(), + [ + 'cl_sortkey', + 'cat_id', + 'cat_title', + 'cat_subcats', + 'cat_pages', + 'cat_files', + 'cl_sortkey_prefix', + 'cl_collation' + ] + ), array_merge( [ 'cl_to' => $this->title->getDBkey() ], $extraConds ), __METHOD__, [ @@ -338,10 +348,13 @@ class CategoryViewer extends ContextSource { ); Hooks::run( 'CategoryViewer::doCategoryQuery', [ $type, $res ] ); + $linkCache = MediaWikiServices::getInstance()->getLinkCache(); $count = 0; foreach ( $res as $row ) { $title = Title::newFromRow( $row ); + $linkCache->addGoodLinkObjFromRow( $title, $row ); + if ( $row->cl_collation === '' ) { // Hack to make sure that while updating from 1.16 schema // and db is inconsistent, that the sky doesn't fall.