Commit c18c6998 authored by zYne's avatar zYne

--no commit message

--no commit message
parent df2b2ef8
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
* @version $Revision$ * @version $Revision$
* @author Konsta Vesterinen <kvesteri@cc.hut.fi> * @author Konsta Vesterinen <kvesteri@cc.hut.fi>
*/ */
class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface, Countable
{ {
/** /**
* Test if a cache is available for the given id and (if yes) return it (false else) * Test if a cache is available for the given id and (if yes) return it (false else)
...@@ -44,7 +44,12 @@ class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface ...@@ -44,7 +44,12 @@ class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface
*/ */
public function fetch($id, $testCacheValidity = true) public function fetch($id, $testCacheValidity = true)
{ {
$sql = 'SELECT data, expires FROM cache WHERE id = ?';
$params = array($id);
$result = $this->conn->fetchAssoc($sql, $params);
return unserialize($result['data']);
} }
/** /**
* Test if a cache is available or not (for the given id) * Test if a cache is available or not (for the given id)
...@@ -66,9 +71,13 @@ class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface ...@@ -66,9 +71,13 @@ class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface
* @param int $lifeTime if != false, set a specific lifetime for this cache record (null => infinite lifeTime) * @param int $lifeTime if != false, set a specific lifetime for this cache record (null => infinite lifeTime)
* @return boolean true if no problem * @return boolean true if no problem
*/ */
public function save($data, $id, $tags = array(), $lifeTime = false) public function save($data, $id, $lifeTime = false)
{ {
$sql = 'INSERT INTO cache (id, data, expires) VALUES (?, ?, ?)';
$params = array($id, serialize($data), (time() + $lifespan));
return (bool) $this->conn->exec($sql, $params);
} }
/** /**
* Remove a cache record * Remove a cache record
...@@ -78,6 +87,18 @@ class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface ...@@ -78,6 +87,18 @@ class Doctrine_Cache_Sqlite implements Doctrine_Cache_Interface
*/ */
public function delete($id) public function delete($id)
{ {
$sql = 'DELETE FROM cache WHERE id = ?';
return (bool) $this->conn->exec($sql, array($md5));
}
/**
* count
* returns the number of cached elements
*
* @return integer
*/
public function count()
{
return (int) $this->conn->fetchOne('SELECT COUNT(*) FROM cache');
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment