Commit 05947d99 authored by igor@rurik.mysql.com's avatar igor@rurik.mysql.com

Fixed bug #14274: a query with a having clause containing only set function...

Fixed bug #14274: a query with a having clause containing only set function returned a wrong result set.
parent f7d6fa6f
...@@ -128,3 +128,16 @@ id description c ...@@ -128,3 +128,16 @@ id description c
1 test 0 1 test 0
2 test2 0 2 test2 0
drop table t1,t2,t3; drop table t1,t2,t3;
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (3), (4), (1), (3), (1);
SELECT SUM(a) FROM t1 GROUP BY a HAVING SUM(a)>0;
SUM(a)
2
6
4
SELECT SUM(a) FROM t1 GROUP BY a HAVING SUM(a);
SUM(a)
2
6
4
DROP TABLE t1;
...@@ -123,4 +123,16 @@ group by a.id, a.description ...@@ -123,4 +123,16 @@ group by a.id, a.description
having (a.description is not null) and (c=0); having (a.description is not null) and (c=0);
drop table t1,t2,t3; drop table t1,t2,t3;
#
# Bug #14274: HAVING clause containing only set function
#
CREATE TABLE t1 (a int);
INSERT INTO t1 VALUES (3), (4), (1), (3), (1);
SELECT SUM(a) FROM t1 GROUP BY a HAVING SUM(a)>0;
SELECT SUM(a) FROM t1 GROUP BY a HAVING SUM(a);
DROP TABLE t1;
# End of 4.1 tests # End of 4.1 tests
...@@ -287,7 +287,7 @@ JOIN::prepare(Item ***rref_pointer_array, ...@@ -287,7 +287,7 @@ JOIN::prepare(Item ***rref_pointer_array,
if (having_fix_rc || thd->net.report_error) if (having_fix_rc || thd->net.report_error)
DBUG_RETURN(-1); /* purecov: inspected */ DBUG_RETURN(-1); /* purecov: inspected */
if (having->with_sum_func) if (having->with_sum_func)
having->split_sum_func(thd, ref_pointer_array, all_fields); having->split_sum_func2(thd, ref_pointer_array, all_fields, &having);
} }
// Is it subselect // Is it subselect
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment