Title: Migrate to IReadableDatabase::newSelectQueryBuilder
Bug: T344971 Change-Id: I9f57e1437cd613d88361ed7444f273a1fce30eea
This commit is contained in:
parent
e2b067117c
commit
328ca29003
1 changed files with 11 additions and 20 deletions
|
|
@ -2858,35 +2858,26 @@ class Title implements LinkTarget, PageIdentity {
|
|||
$db = $this->getDbProvider()->getReplicaDatabase();
|
||||
$linksMigration = MediaWikiServices::getInstance()->getLinksMigration();
|
||||
|
||||
$queryBuilder = $db->newSelectQueryBuilder();
|
||||
if ( isset( $linksMigration::$mapping[$table] ) ) {
|
||||
[ $blNamespace, $blTitle ] = $linksMigration->getTitleFields( $table );
|
||||
$linktargetQueryInfo = $linksMigration->getQueryInfo( $table );
|
||||
$fields = $linktargetQueryInfo['fields'];
|
||||
$tables = $linktargetQueryInfo['tables'];
|
||||
$joins = $linktargetQueryInfo['joins'];
|
||||
$queryBuilder->queryInfo( $linktargetQueryInfo );
|
||||
} else {
|
||||
$blNamespace = "{$prefix}_namespace";
|
||||
$blTitle = "{$prefix}_title";
|
||||
$fields = [ $blNamespace, $blTitle ];
|
||||
$tables = [ $table ];
|
||||
$joins = [];
|
||||
$queryBuilder->select( [ $blNamespace, $blTitle ] )
|
||||
->from( $table );
|
||||
}
|
||||
|
||||
$pageQuery = WikiPage::getQueryInfo();
|
||||
$res = $db->select(
|
||||
array_merge( $tables, [ 'nestpage' => $pageQuery['tables'] ] ),
|
||||
array_merge(
|
||||
$fields,
|
||||
$pageQuery['fields']
|
||||
),
|
||||
[ "{$prefix}_from" => $id ],
|
||||
__METHOD__,
|
||||
$options,
|
||||
[ 'nestpage' => [
|
||||
'LEFT JOIN',
|
||||
[ "page_namespace=$blNamespace", "page_title=$blTitle" ]
|
||||
] ] + $pageQuery['joins'] + $joins
|
||||
);
|
||||
$res = $queryBuilder
|
||||
->where( [ "{$prefix}_from" => $id ] )
|
||||
->leftJoin( 'page', null, [ "page_namespace=$blNamespace", "page_title=$blTitle" ] )
|
||||
->fields( $pageQuery['fields'] )
|
||||
->options( $options )
|
||||
->caller( __METHOD__ )
|
||||
->fetchResultSet();
|
||||
|
||||
$retVal = [];
|
||||
$linkCache = MediaWikiServices::getInstance()->getLinkCache();
|
||||
|
|
|
|||
Loading…
Reference in a new issue