Loading mysql-test/r/subselect.result +7 −0 Original line number Diff line number Diff line Loading @@ -4391,3 +4391,10 @@ SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); s1 a DROP TABLE t1; CREATE TABLE t1(c int, KEY(c)); CREATE TABLE t2(a int, b int); INSERT INTO t2 VALUES (1, 10), (2, NULL); INSERT INTO t1 VALUES (1), (3); SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10); a b DROP TABLE t1,t2; mysql-test/t/subselect.test +12 −0 Original line number Diff line number Diff line Loading @@ -3273,3 +3273,15 @@ INSERT INTO t1 VALUES ('a'); SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); DROP TABLE t1; # # Bug #37004: NOT IN subquery with MAX over an empty set # CREATE TABLE t1(c int, KEY(c)); CREATE TABLE t2(a int, b int); INSERT INTO t2 VALUES (1, 10), (2, NULL); INSERT INTO t1 VALUES (1), (3); SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10); DROP TABLE t1,t2; sql/sql_select.cc +2 −0 Original line number Diff line number Diff line Loading @@ -888,6 +888,7 @@ JOIN::optimize() { DBUG_PRINT("info",("No matching min/max row")); zero_result_cause= "No matching min/max row"; tables= 0; error=0; DBUG_RETURN(0); } Loading @@ -901,6 +902,7 @@ JOIN::optimize() { DBUG_PRINT("info",("No matching min/max row")); zero_result_cause= "No matching min/max row"; tables= 0; error=0; DBUG_RETURN(0); } Loading Loading
mysql-test/r/subselect.result +7 −0 Original line number Diff line number Diff line Loading @@ -4391,3 +4391,10 @@ SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); s1 a DROP TABLE t1; CREATE TABLE t1(c int, KEY(c)); CREATE TABLE t2(a int, b int); INSERT INTO t2 VALUES (1, 10), (2, NULL); INSERT INTO t1 VALUES (1), (3); SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10); a b DROP TABLE t1,t2;
mysql-test/t/subselect.test +12 −0 Original line number Diff line number Diff line Loading @@ -3273,3 +3273,15 @@ INSERT INTO t1 VALUES ('a'); SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1); DROP TABLE t1; # # Bug #37004: NOT IN subquery with MAX over an empty set # CREATE TABLE t1(c int, KEY(c)); CREATE TABLE t2(a int, b int); INSERT INTO t2 VALUES (1, 10), (2, NULL); INSERT INTO t1 VALUES (1), (3); SELECT * FROM t2 WHERE b NOT IN (SELECT max(t.c) FROM t1, t1 t WHERE t.c>10); DROP TABLE t1,t2;
sql/sql_select.cc +2 −0 Original line number Diff line number Diff line Loading @@ -888,6 +888,7 @@ JOIN::optimize() { DBUG_PRINT("info",("No matching min/max row")); zero_result_cause= "No matching min/max row"; tables= 0; error=0; DBUG_RETURN(0); } Loading @@ -901,6 +902,7 @@ JOIN::optimize() { DBUG_PRINT("info",("No matching min/max row")); zero_result_cause= "No matching min/max row"; tables= 0; error=0; DBUG_RETURN(0); } Loading