src/ORM/Queries/SQLSelect.php
public function unlimitedRowCount($column = null)
    {
        // we can't clear the select if we're relying on its output by a HAVING clause
        if (count($this->having)) {
            $records = $this->execute();
            return $records->numRecords();
        }

        $clone = clone $this;
        $clone->limit = null;
        $clone->orderby = null;

        // Choose a default column
        if ($column == null) {
            if ($this->groupby) {
                // @todo Test case required here
                $countQuery = new SQLSelect();
                $countQuery->setSelect("count(*)");
                $countQuery->setFrom(array('(' . $clone->sql($innerParameters) . ') all_distinct'));
                $sql = $countQuery->sql($parameters); // $parameters should be empty
                $result = DB::prepared_query($sql, $innerParameters);
                return (int)$result->value();
            } else {
                $clone->setSelect(array("count(*)"));
            }
        } else {
            $clone->setSelect(array("count($column)"));
        }

        $clone->setGroupBy(array());
        return (int)$clone->execute()->value();
    }
public function unlimitedRowCount($column = null)
    {
        // we can't clear the select if we're relying on its output by a HAVING clause
        if (count($this->having)) {
            $records = $this->execute();
            return $records->numRecords();
        }

        $clone = clone $this;
        $clone->limit = null;
        $clone->orderby = null;

        // Choose a default column
        if ($column == null) {
            if ($this->groupby) {
                // @todo Test case required here
                $countQuery = new SQLSelect();
                $countQuery->setSelect("count(*)");
                $countQuery->setFrom(array('(' . $clone->sql($innerParameters) . ') all_distinct'));
                $sql = $countQuery->sql($parameters); // $parameters should be empty
                $result = DB::prepared_query($sql, $innerParameters);
                return (int)$result->value();
            } else {
                $clone->setSelect(array("count(*)"));
            }
        } else {
            $clone->setSelect(array("count($column)"));
        }

        $clone->setGroupBy(array());
        return (int)$clone->execute()->value();
    }
public function unlimitedRowCount ( $ column = null ) { // we can't clear the select if we're relying on its output by a HAVING clause if ( count ( $ this -> having ) ) { $ records = $ this -> execute ( ) ; return $ records -> numRecords ( ) ; } $ clone = clone $ this ; $ clone -> limit = null ; $ clone -> orderby = null ; // Choose a default column if ( $ column == null ) { if ( $ this -> groupby ) { // @todo Test case required here $ countQuery = new SQLSelect ( ) ; $ countQuery -> setSelect ( "count(*)" ) ; $ countQuery -> setFrom ( array ( '(' . $ clone -> sql ( $ innerParameters ) . ') all_distinct' ) ) ; $ sql = $ countQuery -> sql ( $ parameters ) ; // $parameters should be empty $ result = DB :: prepared_query ( $ sql , $ innerParameters ) ; return ( int ) $ result -> value ( ) ; } else { $ clone -> setSelect ( array ( "count(*)" ) ) ; } } else { $ clone -> setSelect ( array ( "count($column)" ) ) ; } $ clone -> setGroupBy ( array ( ) ) ; return ( int ) $ clone -> execute ( ) -> value ( ) ; }
Return the number of rows in this query if the limit were removed.  Useful in paged data sets.

@param string $column
@return int
Return the number of rows in this query if the limit were removed . Useful in paged data sets .