Commit 024dba64 authored by Sergey Glukhov's avatar Sergey Glukhov

5.1-bugteam->trunk-merge merge

parents 0d80d45a 01313636
...@@ -532,3 +532,19 @@ Warnings: ...@@ -532,3 +532,19 @@ Warnings:
Warning 1292 Truncated incorrect INTEGER value: 'd' Warning 1292 Truncated incorrect INTEGER value: 'd'
DROP TABLE t1,t2; DROP TABLE t1,t2;
End of 5.0 tests End of 5.0 tests
#
# Bug#54416 MAX from JOIN with HAVING returning NULL with 5.1 and Empty set
#
CREATE TABLE t1 (f1 INT(11), f2 VARCHAR(1), PRIMARY KEY (f1));
INSERT INTO t1 VALUES (1,'f');
CREATE TABLE t2 (f1 INT(11), f2 VARCHAR(1));
INSERT INTO t2 VALUES (2,'m');
INSERT INTO t2 VALUES (3,'m');
INSERT INTO t2 VALUES (11,NULL);
INSERT INTO t2 VALUES (12,'k');
SELECT MAX(t1.f1) field1
FROM t1 JOIN t2 ON t2.f2 LIKE 'x'
HAVING field1 < 7;
field1
DROP TABLE t1,t2;
End of 5.1 tests
...@@ -544,3 +544,24 @@ ORDER BY t1.f2; ...@@ -544,3 +544,24 @@ ORDER BY t1.f2;
DROP TABLE t1,t2; DROP TABLE t1,t2;
--echo End of 5.0 tests --echo End of 5.0 tests
--echo #
--echo # Bug#54416 MAX from JOIN with HAVING returning NULL with 5.1 and Empty set
--echo #
CREATE TABLE t1 (f1 INT(11), f2 VARCHAR(1), PRIMARY KEY (f1));
INSERT INTO t1 VALUES (1,'f');
CREATE TABLE t2 (f1 INT(11), f2 VARCHAR(1));
INSERT INTO t2 VALUES (2,'m');
INSERT INTO t2 VALUES (3,'m');
INSERT INTO t2 VALUES (11,NULL);
INSERT INTO t2 VALUES (12,'k');
SELECT MAX(t1.f1) field1
FROM t1 JOIN t2 ON t2.f2 LIKE 'x'
HAVING field1 < 7;
DROP TABLE t1,t2;
--echo End of 5.1 tests
...@@ -1154,7 +1154,7 @@ JOIN::optimize() ...@@ -1154,7 +1154,7 @@ JOIN::optimize()
elements may be lost during further having elements may be lost during further having
condition transformation in JOIN::exec. condition transformation in JOIN::exec.
*/ */
if (having && const_table_map) if (having && const_table_map && !having->with_sum_func)
{ {
having->update_used_tables(); having->update_used_tables();
having= remove_eq_conds(thd, having, &having_value); having= remove_eq_conds(thd, having, &having_value);
......
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