function count()
 {
     if (!(preg_match("/^\\s*SELECT\\s+DISTINCT/is", $this->original_sql) || preg_match('/\\s+GROUP\\s+BY\\s+/is', $this->original_sql)) && preg_match("/^\\s*SELECT\\s+.+\\s+FROM\\s+/Uis", $this->original_sql)) {
         $rewritesql = preg_replace('/^\\s*SELECT\\s.*\\s+FROM\\s/Uis', 'SELECT COUNT(*) FROM ', $this->original_sql);
         $rewritesql = preg_replace('/(\\sORDER\\s+BY\\s.*)/is', '', $rewritesql);
         $queryId = $this->execute($rewritesql);
         $count = linter_get_cursor_opt($queryId, CO_ROW_COUNT);
         $row = linter_get_data_row($queryId);
         $this->connection->closeCursor($queryId);
         if (is_array($row)) {
             return $row[0];
         } else {
             return 0;
         }
     }
     // could not re-write the query, try a different method.
     $queryId = $this->execute($this->sql);
     $count = linter_get_cursor_opt($queryId, CO_ROW_COUNT);
     $this->connection->closeCursor($queryId);
     return $count;
 }
Esempio n. 2
0
 function count()
 {
     if (!$this->queryId) {
         $this->execute();
     }
     if ($this->queryId == lmbLinterConnection::LINTER_EMPTY_DATASET) {
         return 0;
     }
     return linter_get_cursor_opt($this->queryId, CO_ROW_COUNT);
 }
Esempio n. 3
0
 function countPaginated()
 {
     if (is_null($this->queryId)) {
         $this->rewind();
     }
     return linter_get_cursor_opt($this->queryId, CO_ROW_COUNT);
 }
 function getAffectedRowCount()
 {
     if ($this->queryId > 0) {
         return linter_get_cursor_opt($this->queryId, CO_ROW_COUNT);
     }
 }