summaryrefslogtreecommitdiff
path: root/mysql-test/r/cte_recursive.result
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/r/cte_recursive.result')
-rw-r--r--mysql-test/r/cte_recursive.result45
1 files changed, 45 insertions, 0 deletions
diff --git a/mysql-test/r/cte_recursive.result b/mysql-test/r/cte_recursive.result
index a4f32927cf1..b902333ddc4 100644
--- a/mysql-test/r/cte_recursive.result
+++ b/mysql-test/r/cte_recursive.result
@@ -2881,3 +2881,48 @@ f
2
set standard_compliant_cte=default;
DROP TABLE t;
+#
+# mdev-14184: recursive CTE embedded into CTE with multiple references
+#
+WITH
+cte1 AS (
+SELECT n FROM (
+WITH RECURSIVE rec_cte(n) AS (
+SELECT 1 as n1
+UNION ALL
+SELECT n+1 as n2 FROM rec_cte WHERE n < 3
+) SELECT n FROM rec_cte
+) AS X
+),
+cte2 as (
+SELECT 2 FROM cte1
+)
+SELECT *
+FROM cte1;
+n
+1
+2
+3
+#
+# MDEV-14217 [db crash] Recursive CTE when SELECT includes new field
+#
+CREATE TEMPORARY TABLE a_tbl (
+a VARCHAR(33) PRIMARY KEY,
+b VARCHAR(33)
+);
+INSERT INTO a_tbl VALUES ('block0', 'block0'), ('block1', NULL);
+WITH RECURSIVE Q0 AS (
+SELECT T0.a, T0.b, 5
+FROM a_tbl T0
+WHERE b IS NULL
+UNION ALL
+SELECT T1.a, T1.b
+FROM Q0
+JOIN a_tbl T1
+ON T1.a=Q0.a
+) SELECT distinct(Q0.a), Q0.b
+FROM Q0;
+ERROR 21000: The used SELECT statements have a different number of columns
+DROP TABLE a_tbl;
+WITH RECURSIVE x AS (SELECT 1,2 UNION ALL SELECT 1 FROM x) SELECT * FROM x;
+ERROR 21000: The used SELECT statements have a different number of columns