aboutsummaryrefslogtreecommitdiffstats
path: root/includes/MessageCache.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@users.mediawiki.org>2005-03-19 10:40:41 +0000
committerBrion Vibber <brion@users.mediawiki.org>2005-03-19 10:40:41 +0000
commit3f7fe13247c19fc02e48c9b50bafb9e1c0d07700 (patch)
tree72b6d16b404b648727aadb6f8d2edecdbce29dc5 /includes/MessageCache.php
parent8da29ee8fccfd8d36ec11f597670a7dcd743449c (diff)
downloadmediawikicore-3f7fe13247c19fc02e48c9b50bafb9e1c0d07700.tar.gz
mediawikicore-3f7fe13247c19fc02e48c9b50bafb9e1c0d07700.zip
Use Revision for individual message loads; not using it for bulk load just now; need to modify to do bulk loads efficiently
Notes
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/7752
Diffstat (limited to 'includes/MessageCache.php')
-rwxr-xr-xincludes/MessageCache.php26
1 files changed, 17 insertions, 9 deletions
diff --git a/includes/MessageCache.php b/includes/MessageCache.php
index f97e73ccd736..2627f099c0d7 100755
--- a/includes/MessageCache.php
+++ b/includes/MessageCache.php
@@ -156,6 +156,20 @@ class MessageCache
}
$dbr->freeResult( $res );
+ /*
+ # FIXME: This is too slow currently.
+ # We need to bulk-fetch revisions, but in a portable way...
+ $resultSet = Revision::fetchFromConds( $dbr, array(
+ 'page_namespace' => NS_MEDIAWIKI,
+ 'page_is_redirect' => 0,
+ 'page_id=rev_page' ) );
+ while( $row = $resultSet->fetchObject() ) {
+ $revision = new Revision( $row );
+ $title = $revision->getTitle();
+ $this->mCache[$title->getDBkey()] = $revision->getText();
+ }
+ $resultSet->free();
+ */
}
/**
@@ -297,15 +311,9 @@ class MessageCache
# If it wasn't in the cache, load each message from the DB individually
if ( !$message ) {
- $dbr =& wfGetDB( DB_SLAVE );
- $result = $dbr->selectRow( array( 'page', 'text' ),
- array( 'old_flags', 'old_text' ),
- 'page_namespace=' . NS_MEDIAWIKI .
- ' AND page_title=' . $dbr->addQuotes( $title ) .
- ' AND page_latest=old_id',
- 'MessageCache::get' );
- if ( $result ) {
- $message = Revision::getRevisionText( $result );
+ $revision = Revision::newFromTitle( Title::makeTitle( NS_MEDIAWIKI, $title ) );
+ if( $revision ) {
+ $message = $revision->getText();
if ($this->mUseCache) {
$this->mCache[$title]=$message;
/* individual messages may be often