Skip to content

Commit c407716

Browse files
committed
fix: with cte recursive in all db
1 parent 16ff43c commit c407716

14 files changed

Lines changed: 41 additions & 32 deletions

pegjs/athena.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -971,9 +971,9 @@ with_clause
971971
= KW_WITH __ head:cte_definition tail:(__ COMMA __ cte_definition)* {
972972
return createList(head, tail);
973973
}
974-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
974+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
975975
cte.recursive = true;
976-
return [cte]
976+
return createList(cte, tail);
977977
}
978978

979979
cte_definition

pegjs/db2.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,9 +1021,9 @@ with_clause
10211021
= KW_WITH __ head:cte_definition tail:(__ COMMA __ cte_definition)* {
10221022
return createList(head, tail);
10231023
}
1024-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
1024+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
10251025
cte.recursive = true;
1026-
return [cte]
1026+
return createList(cte, tail);
10271027
}
10281028

10291029
cte_definition

pegjs/flinksql.pegjs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,10 +1623,9 @@ with_clause
16231623
// => cte_definition[]
16241624
return createList(head, tail);
16251625
}
1626-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
1627-
// => [cte_definition & {recursive: true; }]
1626+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
16281627
cte.recursive = true;
1629-
return [cte]
1628+
return createList(cte, tail);
16301629
}
16311630

16321631
cte_definition

pegjs/hive.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -957,9 +957,9 @@ with_clause
957957
= KW_WITH __ head:cte_definition tail:(__ COMMA __ cte_definition)* {
958958
return createList(head, tail);
959959
}
960-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
960+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
961961
cte.recursive = true;
962-
return [cte]
962+
return createList(cte, tail);
963963
}
964964

965965
cte_definition

pegjs/mariadb.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2055,9 +2055,9 @@ with_clause
20552055
= KW_WITH __ head:cte_definition tail:(__ COMMA __ cte_definition)* {
20562056
return createList(head, tail);
20572057
}
2058-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
2058+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
20592059
cte.recursive = true;
2060-
return [cte]
2060+
return createList(cte, tail);
20612061
}
20622062

20632063
cte_definition

pegjs/mysql.pegjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2283,9 +2283,9 @@ with_clause
22832283
= KW_WITH __ head:cte_definition tail:(__ COMMA __ cte_definition)* {
22842284
return createList(head, tail);
22852285
}
2286-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
2286+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
22872287
cte.recursive = true;
2288-
return [cte]
2288+
return createList(cte, tail);
22892289
}
22902290

22912291
cte_definition

pegjs/noql.pegjs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2659,10 +2659,9 @@ with_clause
26592659
// => cte_definition[]
26602660
return createList(head, tail);
26612661
}
2662-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
2663-
// => [cte_definition & { recursive: true; }]
2662+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
26642663
cte.recursive = true;
2665-
return [cte]
2664+
return createList(cte, tail);
26662665
}
26672666

26682667
cte_definition

pegjs/postgresql.pegjs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3290,10 +3290,10 @@ with_clause
32903290
// => cte_definition[]
32913291
return createList(head, tail);
32923292
}
3293-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
3294-
// => [cte_definition & { recursive: true; }]
3293+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
3294+
// => (cte_definition & { recursive?: true; })[]
32953295
cte.recursive = true;
3296-
return [cte]
3296+
return createList(cte, tail);
32973297
}
32983298

32993299
cte_definition

pegjs/redshift.pegjs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2687,10 +2687,9 @@ with_clause
26872687
// => cte_definition[]
26882688
return createList(head, tail);
26892689
}
2690-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
2691-
// => [cte_definition & { recursive: true; }]
2690+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
26922691
cte.recursive = true;
2693-
return [cte]
2692+
return createList(cte, tail);
26942693
}
26952694

26962695
cte_definition

pegjs/snowflake.pegjs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2006,10 +2006,9 @@ with_clause
20062006
// => cte_definition[]
20072007
return createList(head, tail);
20082008
}
2009-
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition {
2010-
// => [cte_definition & { recursive: true; }]
2009+
/ __ KW_WITH __ KW_RECURSIVE __ cte:cte_definition tail:(__ COMMA __ cte_definition)* {
20112010
cte.recursive = true;
2012-
return [cte]
2011+
return createList(cte, tail);
20132012
}
20142013

20152014
cte_definition

0 commit comments

Comments
 (0)