diff options
author | Brion Vibber <brion@users.mediawiki.org> | 2005-03-19 10:40:41 +0000 |
---|---|---|
committer | Brion Vibber <brion@users.mediawiki.org> | 2005-03-19 10:40:41 +0000 |
commit | 3f7fe13247c19fc02e48c9b50bafb9e1c0d07700 (patch) | |
tree | 72b6d16b404b648727aadb6f8d2edecdbce29dc5 /includes/MessageCache.php | |
parent | 8da29ee8fccfd8d36ec11f597670a7dcd743449c (diff) | |
download | mediawikicore-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-x | includes/MessageCache.php | 26 |
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 |