From 531399b721a2cb6f0c7e2f417fc313640103bdc2 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Wed, 14 Sep 2016 16:57:54 -0700 Subject: [PATCH] Make WikiPage::getRevision() make use of Revision::newKnownCurrent() Change-Id: Id06319b31bc523a5d514930c3d609af4d991453b --- includes/page/WikiPage.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/includes/page/WikiPage.php b/includes/page/WikiPage.php index c09d0eb06b..6c0c4a8c5a 100644 --- a/includes/page/WikiPage.php +++ b/includes/page/WikiPage.php @@ -621,15 +621,18 @@ class WikiPage implements Page, IDBAccessObject { // happened after the first S1 SELECT. // http://dev.mysql.com/doc/refman/5.0/en/set-transaction.html#isolevel_repeatable-read $flags = Revision::READ_LOCKING; + $revision = Revision::newFromPageId( $this->getId(), $latest, $flags ); } elseif ( $this->mDataLoadedFrom == self::READ_LATEST ) { // Bug T93976: if page_latest was loaded from the master, fetch the // revision from there as well, as it may not exist yet on a replica DB. // Also, this keeps the queries in the same REPEATABLE-READ snapshot. $flags = Revision::READ_LATEST; + $revision = Revision::newFromPageId( $this->getId(), $latest, $flags ); } else { - $flags = 0; + $dbr = wfGetDB( DB_REPLICA ); + $revision = Revision::newKnownCurrent( $dbr, $this->getId(), $latest ); } - $revision = Revision::newFromPageId( $this->getId(), $latest, $flags ); + if ( $revision ) { // sanity $this->setLastEdit( $revision ); } -- 2.20.1