/**
  * 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;
 }