diff options
Diffstat (limited to 'mysql-test/main/subselect_debug.test')
-rw-r--r-- | mysql-test/main/subselect_debug.test | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/mysql-test/main/subselect_debug.test b/mysql-test/main/subselect_debug.test new file mode 100644 index 00000000..f27867dc --- /dev/null +++ b/mysql-test/main/subselect_debug.test @@ -0,0 +1,27 @@ +--source include/have_debug.inc + +# +# Bug #37627: Killing query with sum(exists()) or avg(exists()) reproducibly +# crashes server +# + +CREATE TABLE t1(id INT); +INSERT INTO t1 VALUES (1),(2),(3),(4); +INSERT INTO t1 SELECT a.id FROM t1 a,t1 b,t1 c,t1 d; +# Setup the mysqld to crash at certain point +SET @orig_debug=@@debug; +SET GLOBAL debug_dbug="d,subselect_exec_fail"; +SELECT SUM(EXISTS(SELECT RAND() FROM t1)) FROM t1; +SELECT REVERSE(EXISTS(SELECT RAND() FROM t1)); +SET GLOBAL debug_dbug=@orig_debug; +DROP TABLE t1; + +# +# MDEV-5284 Assertion `!(*expr)->fixed' fails in replace_where_subcondition with IN suquery +# + +create table t1 (i int); +insert into t1 values (1),(2); +select * from t1 where (i < 200 or i = 300) and i in (select i from t1); +drop table t1; + |