diff options
author | Igor Babaev <igor@askmonty.org> | 2018-07-20 19:32:28 -0700 |
---|---|---|
committer | Igor Babaev <igor@askmonty.org> | 2018-07-20 19:32:28 -0700 |
commit | d0d073b1aaa30997307bc7aa686d3715f8c22da0 (patch) | |
tree | 6e199475e0730b741ae79088e26b82fb354882f5 | |
parent | 9827c5e1031ca5ebe1c6c7d4f5eac3cce5749d8e (diff) | |
download | mariadb-git-d0d073b1aaa30997307bc7aa686d3715f8c22da0.tar.gz |
Corrected and added back the test case for MDEV-15151.
-rw-r--r-- | mysql-test/r/cte_recursive_not_embedded.result | 23 | ||||
-rw-r--r-- | mysql-test/t/cte_recursive_not_embedded.test | 42 |
2 files changed, 65 insertions, 0 deletions
diff --git a/mysql-test/r/cte_recursive_not_embedded.result b/mysql-test/r/cte_recursive_not_embedded.result new file mode 100644 index 00000000000..202864be159 --- /dev/null +++ b/mysql-test/r/cte_recursive_not_embedded.result @@ -0,0 +1,23 @@ +# +# MDEV-15151: function with recursive CTE using no base tables +# (duplicate of MDEV-16661) +# +connection default; +CREATE TABLE t1 (id int KEY); +INSERT INTO t1 VALUES (0), (1),(2); +CREATE OR REPLACE FUNCTION func() RETURNS int +RETURN +( +WITH recursive cte AS +(SELECT 1 a UNION SELECT cte.* FROM cte natural join t1) +SELECT * FROM cte limit 1 +); +connect con1,localhost,root,,test; +SELECT func(); +connect con2,localhost,root,,test; +disconnect con2; +connection con1; +disconnect con1; +connection default; +DROP FUNCTION func; +DROP TABLE t1; diff --git a/mysql-test/t/cte_recursive_not_embedded.test b/mysql-test/t/cte_recursive_not_embedded.test new file mode 100644 index 00000000000..4dadf400681 --- /dev/null +++ b/mysql-test/t/cte_recursive_not_embedded.test @@ -0,0 +1,42 @@ +--source include/not_embedded.inc + +--echo # +--echo # MDEV-15151: function with recursive CTE using no base tables +--echo # (duplicate of MDEV-16661) +--echo # + +--connection default + +CREATE TABLE t1 (id int KEY); +INSERT INTO t1 VALUES (0), (1),(2); + +CREATE OR REPLACE FUNCTION func() RETURNS int +RETURN +( + WITH recursive cte AS + (SELECT 1 a UNION SELECT cte.* FROM cte natural join t1) + SELECT * FROM cte limit 1 +); + +--connect (con1,localhost,root,,test) + +--let $conid= `SELECT CONNECTION_ID()` +--send SELECT func() + +--connect (con2,localhost,root,,test) +--disable_query_log +--eval KILL QUERY $conid +--enable_query_log +--disconnect con2 + +--disable_result_log +--connection con1 +--error 0,ER_QUERY_INTERRUPTED +--reap +--disconnect con1 +--enable_result_log + +--connection default + +DROP FUNCTION func; +DROP TABLE t1; |