From 23dcc28120e059fbf7f16818f390b35cbd728c7b Mon Sep 17 00:00:00 2001 From: rurban Date: Fri, 4 Feb 2005 17:58:06 +0000 Subject: [PATCH] minor versioncache improvement. part 2/3 of Charles Corrigan cache patch. not sure about the 0/1 issue git-svn-id: svn://svn.code.sf.net/p/phpwiki/code/trunk@4555 96ab9672-09ca-45d6-a79d-3d69d39ca109 --- lib/WikiDB.php | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/WikiDB.php b/lib/WikiDB.php index 0ec196e6a..b2d8fe1a5 100644 --- a/lib/WikiDB.php +++ b/lib/WikiDB.php @@ -1,5 +1,5 @@ _versiondata_cache; - if (!isset($cache[$pagename][$version][$nc])|| - !(is_array ($cache[$pagename])) || !(is_array ($cache[$pagename][$version]))) { + if (!isset($cache[$pagename][$version][$nc]) + || !(is_array ($cache[$pagename])) + || !(is_array ($cache[$pagename][$version]))) + { $cache[$pagename][$version][$nc] = $this->_backend->get_versiondata($pagename, $version, $need_content); - // If we have retrieved all data, we may as well set the cache for $need_content = false + $readdata = true; + // If we have retrieved all data, we may as well set the cache for + // $need_content = false if ($need_content){ $cache[$pagename][$version]['0'] =& $cache[$pagename][$version]['1']; } @@ -2065,8 +2070,9 @@ class WikiDB_cache $vdata = $cache[$pagename][$version][$nc]; } else { $vdata = $this->_backend->get_versiondata($pagename, $version, $need_content); + $readdata = true; } - if ($vdata && !empty($vdata['%pagedata'])) { + if ($readdata && $vdata && !empty($vdata['%pagedata'])) { $this->_pagedata_cache[$pagename] =& $vdata['%pagedata']; } return $vdata; @@ -2139,6 +2145,9 @@ function _sql_debuglog_shutdown_function() { } // $Log: not supported by cvs2svn $ +// Revision 1.125 2005/02/03 05:08:39 rurban +// ref fix by Charles Corrigan +// // Revision 1.124 2005/01/29 20:43:32 rurban // protect against empty request: on some occasion this happens // -- 2.45.0