diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/r/derived.result | 41 | ||||
-rw-r--r-- | mysql-test/t/derived.test | 29 |
2 files changed, 70 insertions, 0 deletions
diff --git a/mysql-test/r/derived.result b/mysql-test/r/derived.result index 2106ba504a9..018aa0acabf 100644 --- a/mysql-test/r/derived.result +++ b/mysql-test/r/derived.result @@ -1204,5 +1204,46 @@ REPLACE INTO v2 ( SELECT * FROM v4 ) UNION ( SELECT f FROM v2 ); drop view v1,v2,v3,v4; drop table t1,t2,t3; # +# MDEV-42383 SIGSEGV in heap_info from make_join_statistics on 2nd SP exec. +# +CREATE TABLE t1 (name varchar(100)); +insert into t1 values ("one"), ("two"), ("threee"); +CREATE PROCEDURE p() SELECT * FROM (SELECT 1 FROM t1) AS a; +SET SESSION optimizer_switch="derived_merge=OFF"; +CALL p(); +1 +1 +1 +1 +SET SESSION optimizer_switch="derived_merge=ON"; +CALL p(); +1 +1 +1 +1 +drop procedure p; +SET GLOBAL optimizer_switch="derived_merge=OFF"; +connect con1,localhost,root,,; +connection con1; +CREATE PROCEDURE p() SELECT * FROM (SELECT 1 FROM t1) AS a; +CALL p(); +1 +1 +1 +1 +connection default; +SET GLOBAL optimizer_switch="derived_merge=ON"; +connection con1; +CALL p(); +1 +1 +1 +1 +drop procedure p; +connection default; +disconnect con1; +drop table t1; +set optimizer_switch=@save_derived_optimizer_switch; +# # End of 10.2 tests # diff --git a/mysql-test/t/derived.test b/mysql-test/t/derived.test index 6d9d5e23cf9..a5fc3e0f93f 100644 --- a/mysql-test/t/derived.test +++ b/mysql-test/t/derived.test @@ -1037,5 +1037,34 @@ drop view v1,v2,v3,v4; drop table t1,t2,t3; --echo # +--echo # MDEV-42383 SIGSEGV in heap_info from make_join_statistics on 2nd SP exec. +--echo # +CREATE TABLE t1 (name varchar(100)); +insert into t1 values ("one"), ("two"), ("threee"); +CREATE PROCEDURE p() SELECT * FROM (SELECT 1 FROM t1) AS a; +SET SESSION optimizer_switch="derived_merge=OFF"; +CALL p(); +SET SESSION optimizer_switch="derived_merge=ON"; +CALL p(); +drop procedure p; + +SET GLOBAL optimizer_switch="derived_merge=OFF"; +connect (con1,localhost,root,,); +connection con1; +CREATE PROCEDURE p() SELECT * FROM (SELECT 1 FROM t1) AS a; +CALL p(); + +connection default; +SET GLOBAL optimizer_switch="derived_merge=ON"; +connection con1; +CALL p(); +drop procedure p; +connection default; +disconnect con1; + +drop table t1; +set optimizer_switch=@save_derived_optimizer_switch; + +--echo # --echo # End of 10.2 tests --echo # |