should be it
This commit is contained in:
120
external/duckdb/test/sql/cte/recursive_hang_2745.test
vendored
Normal file
120
external/duckdb/test/sql/cte/recursive_hang_2745.test
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
# name: test/sql/cte/recursive_hang_2745.test
|
||||
# description: Issue #2745: sql with RECURSIVE keyword but does not RECURSIVE hang
|
||||
# group: [cte]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
query III
|
||||
with RECURSIVE parents_tab (id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
),
|
||||
parents_tab2(id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
),
|
||||
parents as (
|
||||
select * from parents_tab
|
||||
union all
|
||||
select id, value+2, parent from parents_tab2
|
||||
)
|
||||
select * from parents order by id, value, parent;
|
||||
----
|
||||
1 1 2
|
||||
1 3 2
|
||||
2 2 4
|
||||
2 4 4
|
||||
3 1 4
|
||||
3 3 4
|
||||
4 2 -1
|
||||
4 4 -1
|
||||
5 1 2
|
||||
5 3 2
|
||||
6 2 7
|
||||
6 4 7
|
||||
7 1 -1
|
||||
7 3 -1
|
||||
|
||||
query III
|
||||
with RECURSIVE parents_tab (id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
),
|
||||
parents_tab2(id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
)
|
||||
select * from parents_tab
|
||||
union all
|
||||
select id, value+2, parent from parents_tab2 ORDER BY id, value, parent;
|
||||
----
|
||||
1 1 2
|
||||
1 3 2
|
||||
2 2 4
|
||||
2 4 4
|
||||
3 1 4
|
||||
3 3 4
|
||||
4 2 -1
|
||||
4 4 -1
|
||||
5 1 2
|
||||
5 3 2
|
||||
6 2 7
|
||||
6 4 7
|
||||
7 1 -1
|
||||
7 3 -1
|
||||
|
||||
query III
|
||||
with parents_tab (id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
),
|
||||
parents_tab2(id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
),
|
||||
parents as (
|
||||
select * from parents_tab
|
||||
union all
|
||||
select id, value+2, parent from parents_tab2
|
||||
)
|
||||
select * from parents ORDER BY id, value, parent;
|
||||
----
|
||||
1 1 2
|
||||
1 3 2
|
||||
2 2 4
|
||||
2 4 4
|
||||
3 1 4
|
||||
3 3 4
|
||||
4 2 -1
|
||||
4 4 -1
|
||||
5 1 2
|
||||
5 3 2
|
||||
6 2 7
|
||||
6 4 7
|
||||
7 1 -1
|
||||
7 3 -1
|
||||
|
||||
statement ok
|
||||
create view vparents as
|
||||
with RECURSIVE parents_tab (id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
),
|
||||
parents_tab2(id , value , parent )
|
||||
as (values (1, 1, 2), (2, 2, 4), (3, 1, 4), (4, 2, -1), (5, 1, 2), (6, 2, 7), (7, 1, -1)
|
||||
)
|
||||
select * from parents_tab
|
||||
union all
|
||||
select id, value+2, parent from parents_tab2;
|
||||
|
||||
query III rowsort
|
||||
select * from vparents;
|
||||
----
|
||||
1 1 2
|
||||
1 3 2
|
||||
2 2 4
|
||||
2 4 4
|
||||
3 1 4
|
||||
3 3 4
|
||||
4 2 -1
|
||||
4 4 -1
|
||||
5 1 2
|
||||
5 3 2
|
||||
6 2 7
|
||||
6 4 7
|
||||
7 1 -1
|
||||
7 3 -1
|
||||
Reference in New Issue
Block a user