diff options
author | unknown <gkodinov/kgeorge@magare.gmz> | 2008-05-16 17:05:55 +0300 |
---|---|---|
committer | unknown <gkodinov/kgeorge@magare.gmz> | 2008-05-16 17:05:55 +0300 |
commit | 0fb1527e9556940d30ab14b11742c03510db081d (patch) | |
tree | fa9c710bb7a7cf881050ea378fbd7bf5e1c32e83 /mysql-test/t/subselect.test | |
parent | 21c07eb7b5f970d10aa2ce961a901ba78358125e (diff) | |
download | mariadb-git-0fb1527e9556940d30ab14b11742c03510db081d.tar.gz |
Bug #36011: server crash with explain extended on query
with dependent subqueries
An IN subquery is executed on EXPLAIN when it's not correlated.
If the subquery required a temporary table for its execution
not all the internal structures were restored from pointing to
the items of the temporary table to point back to the items of
the subquery.
Fixed by restoring the ref array when a temp tables were used in
executing the IN subquery during EXPLAIN EXTENDED.
mysql-test/r/subselect.result:
Bug #36011: test case
mysql-test/t/subselect.test:
Bug #36011: test case
sql/sql_select.cc:
Bug #36011: restore the ref array after execution
when there were temp tables.
Diffstat (limited to 'mysql-test/t/subselect.test')
-rw-r--r-- | mysql-test/t/subselect.test | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test index 527bd528f79..78b4de6e816 100644 --- a/mysql-test/t/subselect.test +++ b/mysql-test/t/subselect.test @@ -3271,5 +3271,16 @@ select t1.a from t1 where drop table t1, t2; +# +# Bug #36011: Server crash with explain extended on query with dependent +# subqueries +# + +CREATE TABLE t1 (a INT); +INSERT INTO t1 VALUES (1),(2); +EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 GROUP BY a); +EXPLAIN EXTENDED SELECT 1 FROM t1 WHERE 1 IN (SELECT 1 FROM t1 WHERE a > 3 GROUP BY a); +DROP TABLE t1; + --echo End of 5.0 tests. |