Category: Migrate to use SelectQueryBuilder in ::getMembers

Bug: T311866
Change-Id: I9c8af732eaebce46d5e136d674c0930dafacfab2
This commit is contained in:
Amir Sarabadani 2022-07-07 07:32:52 +02:00 committed by Ladsgroup
parent 9d7f485011
commit 0dc97853c2

View file

@ -318,28 +318,24 @@ class Category {
*/ */
public function getMembers( $limit = false, $offset = '' ) { public function getMembers( $limit = false, $offset = '' ) {
$dbr = $this->loadBalancer->getConnectionRef( DB_REPLICA ); $dbr = $this->loadBalancer->getConnectionRef( DB_REPLICA );
$queryBuilder = $dbr->newSelectQueryBuilder();
$conds = [ 'cl_to' => $this->getName(), 'cl_from = page_id' ]; $queryBuilder->select( [ 'page_id', 'page_namespace', 'page_title', 'page_len',
$options = [ 'ORDER BY' => 'cl_sortkey' ]; 'page_is_redirect', 'page_latest' ] )
->from( 'categorylinks' )
->join( 'page', null, [ 'cl_from = page_id' ] )
->where( [ 'cl_to' => $this->getName() ] )
->orderBy( 'cl_sortkey' )
->caller( __METHOD__ );
if ( $limit ) { if ( $limit ) {
$options['LIMIT'] = $limit; $queryBuilder->limit( $limit );
} }
if ( $offset !== '' ) { if ( $offset !== '' ) {
$conds[] = 'cl_sortkey > ' . $dbr->addQuotes( $offset ); $queryBuilder->andWhere( 'cl_sortkey > ' . $dbr->addQuotes( $offset ) );
} }
$result = TitleArray::newFromResult( $result = TitleArray::newFromResult( $queryBuilder->fetchResultSet() );
$dbr->select(
[ 'page', 'categorylinks' ],
[ 'page_id', 'page_namespace', 'page_title', 'page_len',
'page_is_redirect', 'page_latest' ],
$conds,
__METHOD__,
$options
)
);
return $result; return $result;
} }