summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY1
-rw-r--r--framework/Caching/TSqliteCache.php4
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 <prop:> 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