/** * Returns the number of rows that the given query will return. * * @param array $arSql Array with sql parts and at least keys 'from' and 'where' set. * @return int Number of rows returned. */ protected function _getCount($arSql) { require_once 'Erfurt/Sparql/EngineDb/SqlMerger.php'; $sql = Erfurt_Sparql_EngineDb_SqlMerger::getCount($this->_query, $arSql); $dbResult = $this->_engine->sqlQuery($sql); $nCount = 0; foreach ($dbResult as $row) { $nCount = intval($row['count']); break; } return $nCount; }
protected function _queryDb($query, $arSql, $nOffset, $nLimit) { require_once 'Erfurt/Sparql/EngineDb/SqlMerger.php'; $strSql = Erfurt_Sparql_EngineDb_SqlMerger::getSelect($query, $arSql); #echo $strSql; if ($strSql === '()') { return array(); } if ($nLimit === null && $nOffset == 0) { $ret = $this->_engine->sqlQuery($strSql); } else { if ($nLimit === null) { $ret = $this->_engine->sqlQuery($strSql . ' LIMIT ' . $nOffset . ', 18446744073709551615'); } else { $ret = $this->_engine->sqlQuery($strSql . ' LIMIT ' . $nOffset . ', ' . $nLimit); } } #var_dump($ret->fetchAll());exit; return $ret; }