diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/subselect4.result | 31 | ||||
-rw-r--r-- | mysql-test/t/subselect4.test | 33 |
2 files changed, 64 insertions, 0 deletions
diff --git a/mysql-test/r/subselect4.result b/mysql-test/r/subselect4.result index 8735a75b45d..cb2190ef5ac 100644 --- a/mysql-test/r/subselect4.result +++ b/mysql-test/r/subselect4.result @@ -1784,4 +1784,35 @@ WHERE EXISTS (SELECT DISTINCT f1 FROM t4) LIMIT 1) AND t2.f2 = t1.f1; f1 f2 f1 f2 drop table t1,t2,t3,t4; +# +# LP BUG#806943 Second crash with select_describe with nested subqueries in maria-5.3 +# +CREATE TABLE t1 ( f4 int) ; +INSERT INTO t1 VALUES (0),(0); +CREATE TABLE t2 ( f2 int) ; +CREATE TABLE t3 ( f1 int NOT NULL ); +CREATE TABLE t4 ( f2 int, f3 int) ; +INSERT INTO t4 VALUES (8,0),(3,0); +EXPLAIN SELECT * +FROM t2, t3 +WHERE t3.f1 = ( +SELECT SUM( f2 ) +FROM t4 +WHERE EXISTS ( +SELECT DISTINCT f4 +FROM t1)); +id select_type table type possible_keys key key_len ref rows Extra +1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables +2 SUBQUERY t4 ALL NULL NULL NULL NULL 2 +3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 Using temporary +SELECT * +FROM t2, t3 +WHERE t3.f1 = ( +SELECT SUM( f2 ) +FROM t4 +WHERE EXISTS ( +SELECT DISTINCT f4 +FROM t1)); +f2 f1 +drop table t1, t2, t3, t4; set optimizer_switch=@subselect4_tmp; diff --git a/mysql-test/t/subselect4.test b/mysql-test/t/subselect4.test index 69ef5ffbd21..1cc3a7314a3 100644 --- a/mysql-test/t/subselect4.test +++ b/mysql-test/t/subselect4.test @@ -1461,4 +1461,37 @@ WHERE t2.f2 = (SELECT f2 FROM t3 drop table t1,t2,t3,t4; +--echo # +--echo # LP BUG#806943 Second crash with select_describe with nested subqueries in maria-5.3 +--echo # + +CREATE TABLE t1 ( f4 int) ; +INSERT INTO t1 VALUES (0),(0); + +CREATE TABLE t2 ( f2 int) ; + +CREATE TABLE t3 ( f1 int NOT NULL ); + +CREATE TABLE t4 ( f2 int, f3 int) ; +INSERT INTO t4 VALUES (8,0),(3,0); + +EXPLAIN SELECT * +FROM t2, t3 +WHERE t3.f1 = ( + SELECT SUM( f2 ) + FROM t4 + WHERE EXISTS ( + SELECT DISTINCT f4 + FROM t1)); +SELECT * +FROM t2, t3 +WHERE t3.f1 = ( + SELECT SUM( f2 ) + FROM t4 + WHERE EXISTS ( + SELECT DISTINCT f4 + FROM t1)); + +drop table t1, t2, t3, t4; + set optimizer_switch=@subselect4_tmp; |