/** * {@inheritdoc} */ public function executeQuery($query, array $params = array(), $types = array(), QueryCacheProfile $qcp = null) { if ($qcp !== null) { return $this->executeCacheQuery($query, $params, $types, $qcp); } $this->connect(); $logger = $this->_config->getSQLLogger(); if ($logger) { $logger->startQuery($query, $params, $types); } try { list($query, $params, $types) = SQLParserUtils::expandListParameters($query, $params, $types); $preparedData = $this->_conn->prepare($query); $strictValues = \Cassandra\Request\Request::strictTypeValues($params, $preparedData['metadata']['columns']); $stmt = $this->_conn->executeSync($preparedData['id'], $strictValues); $stmt->setMetadata($preparedData['result_metadata']); } catch (\Exception $ex) { throw DBALException::driverExceptionDuringQuery($this->_driver, $ex, $query, $this->resolveParams($params, $types)); } if ($logger) { $logger->stopQuery(); } return $stmt; }
/** * {@inheritdoc} */ public function execute($params = null) { return $this->_conn->executeSync($this->_stmtPrepared['id'], Request::strictTypeValues(is_null($params) ? $this->_bindedValues : $params, $this->_stmtPrepared['metadata']['columns'])); }