From bcd005fafa195d443db2419629bfeed99e49fc7e Mon Sep 17 00:00:00 2001 From: tianhe1986 Date: Thu, 15 Jun 2017 17:58:54 +0800 Subject: Getting right num of rows with LIMIT usage. Signed-off-by: tianhe1986 --- system/database/DB_query_builder.php | 2 +- tests/codeigniter/database/query_builder/count_test.php | 2 +- 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 -- cgit v1.2.3-24-g4f1b