Merge corrected r81741 and resolve the TODO.
authorPlatonides <platonides@users.mediawiki.org>
Mon, 7 Mar 2011 19:13:19 +0000 (19:13 +0000)
committerPlatonides <platonides@users.mediawiki.org>
Mon, 7 Mar 2011 19:13:19 +0000 (19:13 +0000)
Keep disabled with a class constant.

includes/parser/ParserCache.php

index fbf7bb2..f19170b 100644 (file)
@@ -11,6 +11,7 @@
  */
 class ParserCache {
        private $mMemc;
+       const try116cache = false; /* Only useful $wgParserCacheExpireTime after updating to 1.17 */
 
        /**
         * Get an instance of this object
@@ -118,8 +119,9 @@ class ParserCache {
                        $usedOptions = $optionsKey->mUsedOptions;
                        wfDebug( "Parser cache options found.\n" );
                } else {
-                       # TODO: Fail here $wgParserCacheExpireTime after deployment unless $useOutdated
-
+                       if ( !$useOutdated && !self::try116cache ) {
+                               return false;
+                       }
                        $usedOptions = ParserOptions::legacyOptions();
                }
 
@@ -150,6 +152,11 @@ class ParserCache {
                }
 
                $value = $this->mMemc->get( $parserOutputKey );
+               if ( self::try116cache && !$value && strpos( $value, '*' ) !== -1 ) {
+                       wfDebug( "New format parser cache miss.\n" );
+                       $parserOutputKey = $this->getParserOutputKey( $article, $popts->optionsHash( ParserOptions::legacyOptions() ) );
+                       $value = $this->mMemc->get( $parserOutputKey );
+               }
                if ( !$value ) {
                        wfDebug( "Parser cache miss.\n" );
                        wfIncrStats( "pcache_miss_absent" );