summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortianhe1986 <w1s2j3229@163.com>2017-06-15 11:58:54 +0200
committertianhe1986 <w1s2j3229@163.com>2017-06-15 11:58:54 +0200
commitbcd005fafa195d443db2419629bfeed99e49fc7e (patch)
treea10393932a5cb1f8d6eb7b0e3b7e2438d6376c96
parentf8df72efa0e085f3f8fbbd560b8b74704d5efec5 (diff)
Getting right num of rows with LIMIT usage.
Signed-off-by: tianhe1986 <w1s2j3229@163.com>
-rw-r--r--system/database/DB_query_builder.php2
-rw-r--r--tests/codeigniter/database/query_builder/count_test.php2
2 files changed, 2 insertions, 2 deletions
diff --git a/system/database/DB_query_builder.php b/system/database/DB_query_builder.php
index ef375227c..102ff4ac0 100644
--- a/system/database/DB_query_builder.php
+++ b/system/database/DB_query_builder.php
@@ -1488,7 +1488,7 @@ abstract class CI_DB_query_builder extends CI_DB_driver {
$this->qb_orderby = NULL;
}
- $result = ($this->qb_distinct === TRUE OR ! empty($this->qb_groupby) OR ! empty($this->qb_cache_groupby))
+ $result = ($this->qb_distinct === TRUE OR ! empty($this->qb_groupby) OR ! empty($this->qb_cache_groupby) OR $this->qb_limit OR $this->qb_offset)
? $this->query($this->_count_string.$this->protect_identifiers('numrows')."\nFROM (\n".$this->_compile_select()."\n) CI_count_all_results")
: $this->query($this->_compile_select($this->_count_string.$this->protect_identifiers('numrows')));
diff --git a/tests/codeigniter/database/query_builder/count_test.php b/tests/codeigniter/database/query_builder/count_test.php
index cce3fb61d..da312d866 100644
--- a/tests/codeigniter/database/query_builder/count_test.php
+++ b/tests/codeigniter/database/query_builder/count_test.php
@@ -42,7 +42,7 @@ class Count_test extends CI_TestCase {
*/
public function test_count_all_results_limit()
{
- $this->assertEquals(2, $this->db->like('name', 'ian')->limit(10, 10)->count_all_results('job'));
+ $this->assertEquals(1, $this->db->like('name', 'ian')->limit(1)->count_all_results('job'));
}
} \ No newline at end of file