X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=includes%2Frevisiondelete%2FRevDelRevisionList.php;h=f0b1907d837f4975ce120a9b7518d909c93a16e7;hp=27e51486119dad1f0c8d20fd099abc43a408a60f;hb=e758226c91935a1df2b6fd3ed1f18922d8bfb45b;hpb=e5facc46bc170c302438f60849041b0d6be75e82 diff --git a/includes/revisiondelete/RevDelRevisionList.php b/includes/revisiondelete/RevDelRevisionList.php index 27e5148611..f0b1907d83 100644 --- a/includes/revisiondelete/RevDelRevisionList.php +++ b/includes/revisiondelete/RevDelRevisionList.php @@ -60,13 +60,16 @@ class RevDelRevisionList extends RevDelList { public function doQuery( $db ) { $ids = array_map( 'intval', $this->ids ); $queryInfo = [ - 'tables' => [ 'revision', 'user' ], + 'tables' => [ 'revision', 'page', 'user' ], 'fields' => array_merge( Revision::selectFields(), Revision::selectUserFields() ), 'conds' => [ 'rev_page' => $this->title->getArticleID(), 'rev_id' => $ids, ], - 'options' => [ 'ORDER BY' => 'rev_id DESC' ], + 'options' => [ + 'ORDER BY' => 'rev_id DESC', + 'USE INDEX' => [ 'revision' => 'PRIMARY' ] // workaround for MySQL bug (T104313) + ], 'join_conds' => [ 'page' => Revision::pageJoinCond(), 'user' => Revision::userJoinCond(), @@ -170,10 +173,10 @@ class RevDelRevisionList extends RevDelList { return Status::newGood(); } - public function doPostCommitUpdates() { + public function doPostCommitUpdates( array $visibilityChangeMap ) { $this->title->purgeSquid(); // Extensions that require referencing previous revisions may need this - Hooks::run( 'ArticleRevisionVisibilitySet', [ $this->title, $this->ids ] ); + Hooks::run( 'ArticleRevisionVisibilitySet', [ $this->title, $this->ids, $visibilityChangeMap ] ); return Status::newGood(); } }