From cd101c35450db0740e70f7fb9587ed88566218f5 Mon Sep 17 00:00:00 2001 From: xue <> Date: Sat, 26 Aug 2006 15:56:39 +0000 Subject: Fixed #336. --- HISTORY | 1 + framework/Caching/TSqliteCache.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/HISTORY b/HISTORY index c73c7a39..0260672f 100644 --- a/HISTORY +++ b/HISTORY @@ -2,6 +2,7 @@ Version 3.0.4 September 3, 2006 =============================== BUG: Fixed a bug that would prevent from using tag in skins (Qiang) BUG: Fixed a typo in TControl::setCustomData() (Qiang) +ENH: Ticket#336 - Speed up TSqliteCache with LIMIT SQL clause (Qiang) ENH: TListControl.SelectedValues and SelectedIndices can now be set before databinding (Qiang) ENH: Upgrade Scriptaculous javascript library to 1.6.2 (Wei) CHG: Unify all client-side javascript event handler syntax. (Wei) diff --git a/framework/Caching/TSqliteCache.php b/framework/Caching/TSqliteCache.php index b94b39fe..acf42906 100644 --- a/framework/Caching/TSqliteCache.php +++ b/framework/Caching/TSqliteCache.php @@ -117,7 +117,7 @@ class TSqliteCache extends TCache $error=''; if(($this->_db=new SQLiteDatabase($this->_file,0666,$error))===false) throw new TConfigurationException('sqlitecache_connection_failed',$error); - if(($res=$this->_db->query('SELECT * FROM sqlite_master WHERE tbl_name=\''.self::CACHE_TABLE.'\' AND type=\'table\''))!=false) + if(($res=$this->_db->query('SELECT * FROM sqlite_master WHERE tbl_name=\''.self::CACHE_TABLE.'\' AND type=\'table\' LIMIT 1'))!=false) { if($res->numRows()===0) { @@ -161,7 +161,7 @@ class TSqliteCache extends TCache */ protected function getValue($key) { - $sql='SELECT value FROM '.self::CACHE_TABLE.' WHERE key=\''.$key.'\' AND (expire=0 OR expire>'.time().')'; + $sql='SELECT value FROM '.self::CACHE_TABLE.' WHERE key=\''.$key.'\' AND (expire=0 OR expire>'.time().') LIMIT 1'; if(($ret=$this->_db->query($sql))!=false && ($row=$ret->fetch(SQLITE_ASSOC))!==false) return $row['value']; else -- cgit v1.2.3