Exemplo n.º 1
1
 /**
  * @param QueryInterface $query
  * @return array
  */
 public function fetch(QueryInterface $query)
 {
     $query->checkReplacements();
     $plainQuery = $query->getPlainQuery();
     list($parameters, $plainQuery) = $this->modifyParametersFromArrayToScalar($query->getParameters(), $plainQuery);
     return $this->connection->fetchAll($plainQuery, $parameters);
 }
 /**
  * @param QueryInterface $query
  * @return QueryCacheProfile
  */
 protected function buildCache(QueryInterface $query)
 {
     if ($query->getTtl() === 0) {
         return null;
     }
     return new QueryCacheProfile($query->getTtl(), null, $this->cache);
 }
Exemplo n.º 3
0
 public function testExecuteCache()
 {
     $em = new EntityManager();
     $connection = $em->getConnection();
     $executor = new DbCacheableExecutor($em, new Cache(), new CacheHitsContainer());
     $executor->execute($this->query);
     $executed = $connection->getLastExecuted();
     $this->assertEquals(self::QUERY_PARSED, $executed['query']);
     $this->assertEquals($this->query->getParameters(), $executed['params']);
     $fetched = $executor->fetch($this->query);
     $this->assertEquals(self::QUERY_PARSED, $fetched['query']);
     $this->assertEquals($this->query->getParameters(), $fetched['params']);
 }