From a53de3182880c53294eedbf326c213f8fd1a8e91 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Wed, 29 Aug 2012 20:04:30 -0700 Subject: [PATCH] Added explicit DB flags for Revision loading calls. Change-Id: Ie90d4197ad7a16009c96273eeae1a658678a8200 --- includes/Title.php | 14 +++++++------- includes/api/ApiEditPage.php | 8 ++++++-- includes/cache/MessageCache.php | 4 +++- includes/job/DoubleRedirectJob.php | 2 +- .../resourceloader/ResourceLoaderWikiModule.php | 4 ++-- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/includes/Title.php b/includes/Title.php index b01c00b75b..94ae0623d2 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -3820,7 +3820,7 @@ class Title { return false; } # Get the article text - $rev = Revision::newFromTitle( $nt ); + $rev = Revision::newFromTitle( $nt, false, Revision::READ_LATEST ); if( !is_object( $rev ) ){ return false; } @@ -4113,11 +4113,11 @@ class Title { if ( in_array( 'include_old', $options ) ) { $old_cmp = '>='; } - if ( in_array( 'include_new', $options ) ) { - $new_cmp = '<='; - } - if ( in_array( 'include_both', $options ) ) { - $old_cmp = '>='; + if ( in_array( 'include_new', $options ) ) { + $new_cmp = '<='; + } + if ( in_array( 'include_both', $options ) ) { + $old_cmp = '>='; $new_cmp = '<='; } // No DB query needed if $old and $new are the same or successive revisions: @@ -4128,7 +4128,7 @@ class Title { return ( $old_cmp === '>' && $new_cmp === '<' ) ? 0 : 1; } return ( $old->getRawUserText() === $new->getRawUserText() ) ? 1 : 2; - } + } $dbr = wfGetDB( DB_SLAVE ); $res = $dbr->select( 'revision', 'DISTINCT rev_user_text', array( diff --git a/includes/api/ApiEditPage.php b/includes/api/ApiEditPage.php index 3be4b00458..0963fe7cf2 100644 --- a/includes/api/ApiEditPage.php +++ b/includes/api/ApiEditPage.php @@ -60,7 +60,11 @@ class ApiEditPage extends ApiBase { if ( $titleObj->isRedirect() ) { $oldTitle = $titleObj; - $titles = Title::newFromRedirectArray( Revision::newFromTitle( $oldTitle )->getText( Revision::FOR_THIS_USER ) ); + $titles = Title::newFromRedirectArray( + Revision::newFromTitle( + $oldTitle, false, Revision::READ_LATEST + )->getText( Revision::FOR_THIS_USER ) + ); // array_shift( $titles ); $redirValues = array(); @@ -182,7 +186,7 @@ class ApiEditPage extends ApiBase { if ( !is_null( $params['summary'] ) ) { $requestArray['wpSummary'] = $params['summary']; } - + if ( !is_null( $params['sectiontitle'] ) ) { $requestArray['wpSectionTitle'] = $params['sectiontitle']; } diff --git a/includes/cache/MessageCache.php b/includes/cache/MessageCache.php index 24f32d692f..b854a2ec36 100644 --- a/includes/cache/MessageCache.php +++ b/includes/cache/MessageCache.php @@ -766,7 +766,9 @@ class MessageCache { } # Try loading it from the database - $revision = Revision::newFromTitle( Title::makeTitle( NS_MEDIAWIKI, $title ) ); + $revision = Revision::newFromTitle( + Title::makeTitle( NS_MEDIAWIKI, $title ), false, Revision::READ_LATEST + ); if ( $revision ) { $message = $revision->getText(); if ($message === false) { diff --git a/includes/job/DoubleRedirectJob.php b/includes/job/DoubleRedirectJob.php index 5b86a9036c..08af997585 100644 --- a/includes/job/DoubleRedirectJob.php +++ b/includes/job/DoubleRedirectJob.php @@ -89,7 +89,7 @@ class DoubleRedirectJob extends Job { return false; } - $targetRev = Revision::newFromTitle( $this->title ); + $targetRev = Revision::newFromTitle( $this->title, false, Revision::READ_LATEST ); if ( !$targetRev ) { wfDebug( __METHOD__.": target redirect already deleted, ignoring\n" ); return true; diff --git a/includes/resourceloader/ResourceLoaderWikiModule.php b/includes/resourceloader/ResourceLoaderWikiModule.php index 9dd693921a..623a26924e 100644 --- a/includes/resourceloader/ResourceLoaderWikiModule.php +++ b/includes/resourceloader/ResourceLoaderWikiModule.php @@ -77,7 +77,7 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule { if ( !$title->isCssJsSubpage() && !$title->isCssOrJsPage() ) { return null; } - $revision = Revision::newFromTitle( $title ); + $revision = Revision::newFromTitle( $title, false, Revision::READ_NORMAL ); if ( !$revision ) { return null; } @@ -182,7 +182,7 @@ abstract class ResourceLoaderWikiModule extends ResourceLoaderModule { // We're dealing with a subclass that doesn't have a DB return array(); } - + $hash = $context->getHash(); if ( isset( $this->titleMtimes[$hash] ) ) { return $this->titleMtimes[$hash]; -- 2.20.1