public function testQueryCacheCanBeDisabledForSingleQuery() { $cache = $this->_getCacheDriver(); $q = new Doctrine_Query(); $q->select('u.name')->from('User u')->leftJoin('u.Phonenumber p')->where('u.name = ?', 'walhala')->useQueryCache(false); $coll = $q->execute(); $this->assertFalse($cache->contains($q->calculateQueryCacheHash())); $this->assertEqual(count($coll), 0); $coll = $q->execute(); $this->assertFalse($cache->contains($q->calculateQueryCacheHash())); $this->assertEqual(count($coll), 0); }
public function calculateQueryCacheHash() { if ($this->cachedQueryCacheHash) { $result = $this->cachedQueryCacheHash; $this->cachedQueryCacheHash = ''; return $result; } $result = ''; if (!$result) { $result = parent::calculateQueryCacheHash(); } if ($this->isFoundRows) { $result .= ':fr'; } if ($this->whereInCount) { $result .= ':count' . $this->whereInCount; } return $result; }
public function calculateQueryCacheHash() { if ($this->cachedQueryCacheHash) { $result = $this->cachedQueryCacheHash; $this->cachedQueryCacheHash = ''; return $result; } $result = ''; $findQueryCacheKey = ''; if (isset($this->_dqlParts['from'][0])) { if (strpos($this->_dqlParts['from'][0], 'dctrn_find')) { $findQueryCacheKey = md5($this->_dqlParts['from'][0] . count($this->getFlattenedParams())); } if (isset(self::$findQueryCacheKeys[$findQueryCacheKey])) { $result = self::$findQueryCacheKeys[$findQueryCacheKey]; } } if (!$result) { $result = parent::calculateQueryCacheHash(); if ($findQueryCacheKey) { self::$findQueryCacheKeys[$findQueryCacheKey] = $result; } } if ($this->isFoundRows) { $result .= ':fr'; } if ($this->whereInCount) { $result .= ':count' . $this->whereInCount; } return $result; }