/** * Analyse la requète pour qu'elle passe sans encombre dans le driver MSSQL */ protected function _parseQuery($pQueryString, $pParameters = array(), $pOffset = null, $pCount = null) { $toReturn = parent::_parseQuery($pQueryString, $pParameters, $pOffset, $pCount); //only for select query if ($toReturn['isSelect'] && ($pOffset !== null || $pCount !== null)) { $toReturn['query'] = $this->_parseLimit($toReturn['query'], $pOffset, $pCount); $toReturn['count'] = true; $toReturn['offset'] = true; } if (!$toReturn['isSelect']) { $toReturn['isSelect'] = stripos(trim($pQueryString), 'DESCRIBE') === 0; } return $toReturn; }
/** * Analyse la requête pour qu'elle passe sans encombre dans le driver MSSQL */ protected function _parseQuery($pQueryString, $pParameters = array(), $pOffset = null, $pCount = null) { $toReturn = parent::_parseQuery($pQueryString, $pParameters, $pOffset, $pCount); //only for select query if ($toReturn['isSelect'] && ($pOffset !== null || $pCount !== null)) { $toReturn['query'] = $this->_parseLimit($toReturn['query'], $pOffset, $pCount); $toReturn['count'] = true; //au minimum, on poura faire un fetch all une fois les enregistrements obtenus $toReturn['offset'] = true; } if (!$toReturn['isSelect']) { $toReturn['isSelect'] = stripos(trim($pQueryString), 'exec') === 0; } return $toReturn; }
/** * Analyse la requête pour qu'elle passe sans encombre dans le driver MySQL * @param string $pQueryString la requête à lancer * @param array $pParameters les paramètres de la requête * @param int $pOffset l'offset à partir duquel on veut récupérer les résultats * @param int $pCount le nombre de lignes que l'on souhaites récupérer depuis cette requête */ protected function _parseQuery($pQueryString, $pParameters = array(), $pOffset = null, $pCount = null) { $toReturn = parent::_parseQuery($pQueryString, $pParameters, $pOffset, $pCount); //only for select query if ($toReturn['isSelect'] && ($pOffset !== null || $pCount !== null)) { $pos = stripos($toReturn['query'], "select"); if ($pCount === null) { $pCount = $this->_getMaxCount(); } $pOffset = intval($pOffset); $pCount = intval($pCount); $toReturn['query'] = $toReturn['query'] . " LIMIT {$pCount} OFFSET {$pOffset}"; $toReturn['offset'] = true; $toReturn['count'] = true; } return $toReturn; }
/** * Analyse la requête pour qu'elle passe sans encombre dans le driver MSSQL */ protected function _parseQuery($pQueryString, $pParameters = array(), $pOffset = null, $pCount = null) { $toReturn = parent::_parseQuery($pQueryString, $pParameters, $pOffset, $pCount); //only for select query if ($toReturn['isSelect'] && ($pOffset !== null || $pCount !== null)) { $pos = stripos($toReturn['query'], "select"); if ($pCount === null) { $pCount = $this->_getMaxCount(); } if ($pCount > 0) { $toReturn['query'] .= " LIMIT {$pCount}"; if ($pOffset > 0) { $toReturn['query'] .= " OFFSET {$pOffset}"; } } $toReturn['offset'] = true; $toReturn['count'] = true; } if (!$toReturn['isSelect']) { $toReturn['isSelect'] = stripos(trim($pQueryString), 'PRAGMA') === 0; } return $toReturn; }