X-Git-Url: http://git.cyclocoop.org/url?a=blobdiff_plain;f=includes%2Fapi%2FApiQueryAllRevisions.php;h=68236465d13d00d9f413ad7d04db15dfbb34dd05;hb=526341516a91502ac7cfd2e5590e7432b3f50c5d;hp=8f7d6eb28f0a28bbe90086a30071c5694256f486;hpb=943a2498d0d081fc057898d594dcd57f5762d3ab;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/api/ApiQueryAllRevisions.php b/includes/api/ApiQueryAllRevisions.php index 8f7d6eb28f..68236465d1 100644 --- a/includes/api/ApiQueryAllRevisions.php +++ b/includes/api/ApiQueryAllRevisions.php @@ -1,7 +1,5 @@ addTables( 'revision' ); if ( $resultPageSet === null ) { $this->parseParameters( $params ); - $this->addTables( 'page' ); - $this->addJoinConds( - [ 'page' => [ 'INNER JOIN', [ 'rev_page = page_id' ] ] ] + $revQuery = Revision::getQueryInfo( + $this->fetchContent ? [ 'page', 'text' ] : [ 'page' ] ); - $this->addFields( Revision::selectFields() ); - $this->addFields( Revision::selectPageFields() ); + $this->addTables( $revQuery['tables'] ); + $this->addFields( $revQuery['fields'] ); + $this->addJoinConds( $revQuery['joins'] ); // Review this depeneding on the outcome of T113901 $this->addOption( 'STRAIGHT_JOIN' ); } else { $this->limit = $this->getParameter( 'limit' ) ?: 10; + $this->addTables( 'revision' ); $this->addFields( [ 'rev_timestamp', 'rev_id' ] ); if ( $params['generatetitles'] ) { $this->addFields( [ 'rev_page' ] ); @@ -105,15 +103,6 @@ class ApiQueryAllRevisions extends ApiQueryRevisionsBase { $this->addFields( 'ts_tags' ); } - if ( $this->fetchContent ) { - $this->addTables( 'text' ); - $this->addJoinConds( - [ 'text' => [ 'INNER JOIN', [ 'rev_text_id=old_id' ] ] ] - ); - $this->addFields( 'old_id' ); - $this->addFields( Revision::selectTextFields() ); - } - if ( $params['user'] !== null ) { $id = User::idFromName( $params['user'] ); if ( $id ) {