* @ingroup RevisionDelete
*/
+use Wikimedia\Rdbms\FakeResultWrapper;
+use Wikimedia\Rdbms\IDatabase;
+
/**
* List for revision table items
*
*/
public function doQuery( $db ) {
$ids = array_map( 'intval', $this->ids );
+ $revQuery = Revision::getQueryInfo( [ 'page', 'user' ] );
$queryInfo = [
- 'tables' => [ 'revision', 'page', 'user' ],
- 'fields' => array_merge( Revision::selectFields(), Revision::selectUserFields() ),
+ 'tables' => $revQuery['tables'],
+ 'fields' => $revQuery['fields'],
'conds' => [
'rev_page' => $this->title->getArticleID(),
'rev_id' => $ids,
'ORDER BY' => 'rev_id DESC',
'USE INDEX' => [ 'revision' => 'PRIMARY' ] // workaround for MySQL bug (T104313)
],
- 'join_conds' => [
- 'page' => Revision::pageJoinCond(),
- 'user' => Revision::userJoinCond(),
- ],
+ 'join_conds' => $revQuery['joins'],
];
ChangeTags::modifyDisplayQuery(
$queryInfo['tables'],
return $live;
}
+ $arQuery = Revision::getArchiveQueryInfo();
$archiveQueryInfo = [
- 'tables' => [ 'archive' ],
- 'fields' => Revision::selectArchiveFields(),
+ 'tables' => $arQuery['tables'],
+ 'fields' => $arQuery['fields'],
'conds' => [
'ar_rev_id' => $ids,
],
'options' => [ 'ORDER BY' => 'ar_rev_id DESC' ],
- 'join_conds' => [],
+ 'join_conds' => $arQuery['joins'],
];
ChangeTags::modifyDisplayQuery(