Example #1
0
 public function queryAndFetchAll($sql, $fetchStyle, $columnIndex = 0, $filter = null)
 {
     $finalSql = str_replace(kApiCache::KALTURA_COMMENT_MARKER, $this->getComment(), $sql);
     KalturaLog::debug($finalSql);
     $sqlStart = microtime(true);
     $stmt = parent::query($finalSql);
     $sqlTook = microtime(true) - $sqlStart;
     KalturaLog::debug("Sql took - " . $sqlTook . " seconds");
     KalturaMonitorClient::monitorDatabaseAccess($sql, $sqlTook, $this->hostName);
     if (!$stmt) {
         return false;
     }
     if ($fetchStyle == PDO::FETCH_COLUMN) {
         $result = $stmt->fetchAll($fetchStyle, $columnIndex);
     } else {
         $result = $stmt->fetchAll($fetchStyle);
     }
     if (is_null($result)) {
         return false;
     }
     if (!$result) {
         $result = array();
     }
     $filteredResult = kApiCache::filterQueryResult($result, $filter);
     kApiCache::addSqlQueryCondition($this->configKey, $sql, $fetchStyle, $columnIndex, $filter, $filteredResult);
     return $filteredResult;
 }