X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Frevisiondelete%2FRevDelRevisionList.php;h=07362c422ff1e82ef5a2acff8702bc92afb94881;hb=5120937028f768749d058aa91dde82a96de0af1c;hp=3486645c05e6bef0fcf1dd19576f948fd1e8746d;hpb=f7429252f85c5835b291def55fc04b8196c1bb39;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/revisiondelete/RevDelRevisionList.php b/includes/revisiondelete/RevDelRevisionList.php index 3486645c05..07362c422f 100644 --- a/includes/revisiondelete/RevDelRevisionList.php +++ b/includes/revisiondelete/RevDelRevisionList.php @@ -19,6 +19,9 @@ * @ingroup RevisionDelete */ +use Wikimedia\Rdbms\FakeResultWrapper; +use Wikimedia\Rdbms\IDatabase; + /** * List for revision table items * @@ -59,18 +62,19 @@ class RevDelRevisionList extends RevDelList { */ public function doQuery( $db ) { $ids = array_map( 'intval', $this->ids ); + $revQuery = Revision::getQueryInfo( [ 'page', 'user' ] ); $queryInfo = [ - 'tables' => [ 'revision', 'user' ], - 'fields' => array_merge( Revision::selectFields(), Revision::selectUserFields() ), + 'tables' => $revQuery['tables'], + 'fields' => $revQuery['fields'], 'conds' => [ 'rev_page' => $this->title->getArticleID(), 'rev_id' => $ids, ], - 'options' => [ 'ORDER BY' => 'rev_id DESC' ], - 'join_conds' => [ - 'page' => Revision::pageJoinCond(), - 'user' => Revision::userJoinCond(), + 'options' => [ + 'ORDER BY' => 'rev_id DESC', + 'USE INDEX' => [ 'revision' => 'PRIMARY' ] // workaround for MySQL bug (T104313) ], + 'join_conds' => $revQuery['joins'], ]; ChangeTags::modifyDisplayQuery( $queryInfo['tables'], @@ -94,14 +98,15 @@ class RevDelRevisionList extends RevDelList { 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(