diff options
author | unknown <timour@askmonty.org> | 2011-07-07 17:07:13 +0300 |
---|---|---|
committer | unknown <timour@askmonty.org> | 2011-07-07 17:07:13 +0300 |
commit | 5f5cbf76844da25d547bcd0235bcf345cdfa4a0a (patch) | |
tree | ff65fd50db10edd645967417779319db6cecadc8 /mysql-test/t/subselect4.test | |
parent | 4128ec48522534732d16a74cda006dc794748042 (diff) | |
download | mariadb-git-5f5cbf76844da25d547bcd0235bcf345cdfa4a0a.tar.gz |
Test case for bug lp:611690
The bug itself has been fixed by MWL#89.
Diffstat (limited to 'mysql-test/t/subselect4.test')
-rw-r--r-- | mysql-test/t/subselect4.test | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/mysql-test/t/subselect4.test b/mysql-test/t/subselect4.test index 1cc3a7314a3..3b55bd78c09 100644 --- a/mysql-test/t/subselect4.test +++ b/mysql-test/t/subselect4.test @@ -1494,4 +1494,68 @@ WHERE t3.f1 = ( drop table t1, t2, t3, t4; +--echo # +--echo # LP BUG#611690 Crash in select_describe() with nested subqueries +--echo # + +CREATE TABLE t1 ( + col_int_key int(11) DEFAULT NULL, + col_varchar_key varchar(1) DEFAULT NULL, + col_varchar_nokey varchar(1) DEFAULT NULL, + KEY col_int_key (col_int_key), + KEY col_varchar_key (col_varchar_key,col_int_key) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +INSERT INTO t1 VALUES (8,'v','v'); +INSERT INTO t1 VALUES (9,'r','r'); + +CREATE TABLE t2 ( + col_int_key int(11) DEFAULT NULL, + col_varchar_key varchar(1) DEFAULT NULL, + col_varchar_nokey varchar(1) DEFAULT NULL, + KEY col_int_key (col_int_key), + KEY col_varchar_key (col_varchar_key,col_int_key) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; +INSERT INTO t2 VALUES (2,'w','w'); +INSERT INTO t2 VALUES (9,'m','m'); + +set @old_optimizer_switch = @@optimizer_switch; + +set @@optimizer_switch='subquery_cache=off,materialization=on,in_to_exists=off,semijoin=off'; +EXPLAIN +SELECT col_int_key +FROM t2 +WHERE (SELECT SUBQUERY2_t1.col_int_key + FROM t1 SUBQUERY2_t1 STRAIGHT_JOIN t1 SUBQUERY2_t2 + ON SUBQUERY2_t2.col_varchar_key + WHERE SUBQUERY2_t2.col_varchar_nokey IN + (SELECT col_varchar_nokey FROM t1 GROUP BY col_varchar_nokey)); +SELECT col_int_key +FROM t2 +WHERE (SELECT SUBQUERY2_t1.col_int_key + FROM t1 SUBQUERY2_t1 STRAIGHT_JOIN t1 SUBQUERY2_t2 + ON SUBQUERY2_t2.col_varchar_key + WHERE SUBQUERY2_t2.col_varchar_nokey IN + (SELECT col_varchar_nokey FROM t1 GROUP BY col_varchar_nokey)); + +set @@optimizer_switch='subquery_cache=off,materialization=off,in_to_exists=on,semijoin=off'; +EXPLAIN +SELECT col_int_key +FROM t2 +WHERE (SELECT SUBQUERY2_t1.col_int_key + FROM t1 SUBQUERY2_t1 STRAIGHT_JOIN t1 SUBQUERY2_t2 + ON SUBQUERY2_t2.col_varchar_key + WHERE SUBQUERY2_t2.col_varchar_nokey IN + (SELECT col_varchar_nokey FROM t1 GROUP BY col_varchar_nokey)); +SELECT col_int_key +FROM t2 +WHERE (SELECT SUBQUERY2_t1.col_int_key + FROM t1 SUBQUERY2_t1 STRAIGHT_JOIN t1 SUBQUERY2_t2 + ON SUBQUERY2_t2.col_varchar_key + WHERE SUBQUERY2_t2.col_varchar_nokey IN + (SELECT col_varchar_nokey FROM t1 GROUP BY col_varchar_nokey)); + +drop table t1, t2; + +set @@optimizer_switch = @old_optimizer_switch; + set optimizer_switch=@subselect4_tmp; |