2
--echo # BUG#46680 - Assertion failed in file item_subselect.cc,
3
--echo # line 305 crashing on HAVING subquery
11
v VARCHAR(1) DEFAULT NULL,
14
CREATE TABLE t2 LIKE t1;
15
CREATE TABLE t3 LIKE t1;
16
CREATE TABLE empty1 (a int);
18
INSERT INTO t1 VALUES (1,'c'),(2,NULL);
19
INSERT INTO t2 VALUES (3,'m'),(4,NULL);
20
INSERT INTO t3 VALUES (1,'n');
24
--echo # 1) Test that subquery materialization is setup for query with
25
--echo # premature optimize() exit due to "Impossible WHERE"
28
FROM t2 JOIN t1 ON t1.pk=t2.pk
37
FROM t2 JOIN t1 ON t1.pk=t2.pk
45
--echo # 2) Test that subquery materialization is setup for query with
46
--echo # premature optimize() exit due to "No matching min/max row"
66
--echo # 3) Test that subquery materialization is setup for query with
67
--echo # premature optimize() exit due to "Select tables optimized away"
69
--echo # NOTE: The result of this query is actually wrong; it should be NULL
70
--echo # See BUG#47762. Even so, the test case is still needed to test
71
--echo # that the HAVING subquery does not crash the server
91
--echo # 4) Test that subquery materialization is setup for query with
92
--echo # premature optimize() exit due to "No matching row in const table"
96
FROM (SELECT a FROM empty1) tt
104
FROM (SELECT a FROM empty1) tt
111
--echo # 5) Test that subquery materialization is setup for query with
112
--echo # premature optimize() exit due to "Impossible WHERE noticed
113
--echo # after reading const tables"
117
WHERE t1.pk IN (SELECT 1 from t3 where pk>10)
126
WHERE t1.pk IN (SELECT 1 from t3 where pk>10)
132
--echo # Cleanup for BUG#46680
134
DROP TABLE IF EXISTS t1,t2,t3,empty1;
137
--echo End of 6.0 tests