Skip to content

Commit cb38845

Browse files
authored
parser: split select into select, tables, values (#484)
we were keeping them the same node type, but we'll want them to be different at the AST level, makes writing rules / ide features easier Also had typo'd the cluster on setting
1 parent 10bd0db commit cb38845

22 files changed

+85
-84
lines changed

crates/squawk_parser/src/grammar.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2353,7 +2353,7 @@ fn select_stmt(p: &mut Parser, m: Option<Marker>) -> Option<CompletedMarker> {
23532353
// table [only] name [*]
23542354
if p.eat(TABLE_KW) {
23552355
relation_name(p);
2356-
return Some(m.complete(p, SELECT));
2356+
return Some(m.complete(p, TABLE_STMT));
23572357
}
23582358
// with aka cte
23592359
// [ WITH [ RECURSIVE ] with_query [, ...] ]
@@ -8252,7 +8252,7 @@ fn create_materialized_view_stmt(p: &mut Parser<'_>) -> CompletedMarker {
82528252
},
82538253
);
82548254
match statement.map(|x| x.kind()) {
8255-
Some(SELECT) => (),
8255+
Some(SELECT | TABLE_STMT | VALUES) => (),
82568256
Some(kind) => {
82578257
p.error(format!(
82588258
"expected SELECT, TABLE, or VALUES statement, got {:?}",
@@ -8584,7 +8584,7 @@ fn select_insert_delete_update_or_notify(p: &mut Parser<'_>) {
85848584
);
85858585
if let Some(statement) = statement {
85868586
match statement.kind() {
8587-
SELECT | INSERT_STMT | UPDATE_STMT | DELETE_STMT | NOTIFY_STMT => (),
8587+
SELECT | VALUES | INSERT_STMT | UPDATE_STMT | DELETE_STMT | NOTIFY_STMT => (),
85888588
kind => {
85898589
p.error(format!(
85908590
"expected SELECT, INSERT, UPDATE, DELETE, NOTIFY, or VALUES statement, got {:?}",
@@ -9656,6 +9656,7 @@ fn explain_stmt(p: &mut Parser<'_>) -> CompletedMarker {
96569656
if let Some(statement) = statement {
96579657
match statement.kind() {
96589658
SELECT
9659+
| VALUES
96599660
| INSERT_STMT
96609661
| UPDATE_STMT
96619662
| DELETE_STMT
@@ -10626,7 +10627,7 @@ fn values_clause(p: &mut Parser<'_>, m: Option<Marker>) -> CompletedMarker {
1062610627
opt_limit_clause(p);
1062710628
opt_offset_clause(p);
1062810629
opt_fetch_clause(p);
10629-
m.complete(p, SELECT)
10630+
m.complete(p, VALUES)
1063010631
}
1063110632

1063210633
// REINDEX [ ( option [, ...] ) ] { INDEX | TABLE | SCHEMA } [ CONCURRENTLY ] name
@@ -10796,7 +10797,7 @@ fn prepare_stmt(p: &mut Parser<'_>) -> CompletedMarker {
1079610797
);
1079710798
if let Some(statement) = statement {
1079810799
match statement.kind() {
10799-
SELECT | INSERT_STMT | UPDATE_STMT | DELETE_STMT | MERGE_STMT => (),
10800+
SELECT | VALUES | INSERT_STMT | UPDATE_STMT | DELETE_STMT | MERGE_STMT => (),
1080010801
kind => {
1080110802
p.error(format!(
1080210803
"expected SELECT, INSERT, UPDATE, DELETE, MERGE, or VALUES statement, got {:?}",
@@ -12985,7 +12986,7 @@ fn alter_table_action(p: &mut Parser<'_>) -> Option<SyntaxKind> {
1298512986
p.bump(CLUSTER_KW);
1298612987
p.bump(ON_KW);
1298712988
name_ref(p);
12988-
DISABLE_CLUSTER
12989+
CLUSTER_ON
1298912990
}
1299012991
// OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
1299112992
OWNER_KW => {

crates/squawk_parser/src/snapshots/squawk_parser__test__alter_materialized_view_ok.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -691,7 +691,7 @@ SOURCE_FILE
691691
NAME_REF
692692
IDENT "v"
693693
WHITESPACE "\n "
694-
DISABLE_CLUSTER
694+
CLUSTER_ON
695695
CLUSTER_KW "cluster"
696696
WHITESPACE " "
697697
ON_KW "on"

crates/squawk_parser/src/snapshots/squawk_parser__test__alter_table_ok.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,7 @@ SOURCE_FILE
16561656
NAME_REF
16571657
IDENT "t"
16581658
WHITESPACE " "
1659-
DISABLE_CLUSTER
1659+
CLUSTER_ON
16601660
CLUSTER_KW "cluster"
16611661
WHITESPACE " "
16621662
ON_KW "on"

crates/squawk_parser/src/snapshots/squawk_parser__test__create_materialized_view_ok.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ SOURCE_FILE
158158
WHITESPACE "\n "
159159
AS_KW "as"
160160
WHITESPACE " "
161-
SELECT
161+
TABLE_STMT
162162
TABLE_KW "table"
163163
WHITESPACE " "
164164
PATH
@@ -183,7 +183,7 @@ SOURCE_FILE
183183
WHITESPACE "\n "
184184
AS_KW "as"
185185
WHITESPACE " "
186-
SELECT
186+
VALUES
187187
VALUES_KW "values"
188188
WHITESPACE " "
189189
L_PAREN "("

crates/squawk_parser/src/snapshots/squawk_parser__test__create_rule_ok.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ SOURCE_FILE
128128
NAME_REF
129129
IDENT "t"
130130
WHITESPACE " "
131-
SELECT
131+
VALUES
132132
VALUES_KW "values"
133133
WHITESPACE " "
134134
L_PAREN "("
@@ -152,7 +152,7 @@ SOURCE_FILE
152152
IDENT "t"
153153
SEMICOLON ";"
154154
WHITESPACE "\n "
155-
SELECT
155+
VALUES
156156
VALUES_KW "values"
157157
WHITESPACE " "
158158
L_PAREN "("

crates/squawk_parser/src/snapshots/squawk_parser__test__create_table_as_ok.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ SOURCE_FILE
9292
WHITESPACE " "
9393
AS_KW "as"
9494
WHITESPACE "\n "
95-
SELECT
95+
TABLE_STMT
9696
TABLE_KW "table"
9797
WHITESPACE " "
9898
PATH
@@ -117,7 +117,7 @@ SOURCE_FILE
117117
WHITESPACE " "
118118
AS_KW "as"
119119
WHITESPACE "\n "
120-
SELECT
120+
VALUES
121121
VALUES_KW "values"
122122
WHITESPACE " "
123123
L_PAREN "("
@@ -140,7 +140,7 @@ SOURCE_FILE
140140
WHITESPACE " "
141141
AS_KW "as"
142142
WHITESPACE "\n "
143-
SELECT
143+
VALUES
144144
VALUES_KW "values"
145145
WHITESPACE " "
146146
L_PAREN "("

crates/squawk_parser/src/snapshots/squawk_parser__test__create_view_ok.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ SOURCE_FILE
348348
AS_KW "AS"
349349
WHITESPACE "\n "
350350
COMPOUND_SELECT
351-
SELECT
351+
VALUES
352352
VALUES_KW "VALUES"
353353
WHITESPACE " "
354354
L_PAREN "("

crates/squawk_parser/src/snapshots/squawk_parser__test__explain_ok.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ SOURCE_FILE
604604
L_PAREN "("
605605
PAREN_EXPR
606606
L_PAREN "("
607-
SELECT
607+
VALUES
608608
VALUES_KW "values"
609609
WHITESPACE " "
610610
L_PAREN "("

crates/squawk_parser/src/snapshots/squawk_parser__test__insert_err.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ SOURCE_FILE
3131
IDENT "c"
3232
R_PAREN ")"
3333
WHITESPACE "\n "
34-
SELECT
34+
VALUES
3535
VALUES_KW "values"
3636
WHITESPACE " "
3737
L_PAREN "("
@@ -83,7 +83,7 @@ SOURCE_FILE
8383
COMMA ","
8484
R_PAREN ")"
8585
WHITESPACE "\n "
86-
SELECT
86+
VALUES
8787
VALUES_KW "values"
8888
WHITESPACE " "
8989
L_PAREN "("
@@ -137,7 +137,7 @@ SOURCE_FILE
137137
IDENT "c"
138138
R_PAREN ")"
139139
WHITESPACE "\n "
140-
SELECT
140+
VALUES
141141
VALUES_KW "values"
142142
WHITESPACE " "
143143
L_PAREN "("

crates/squawk_parser/src/snapshots/squawk_parser__test__insert_ok.snap

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ SOURCE_FILE
1515
NAME_REF
1616
IDENT "products"
1717
WHITESPACE " "
18-
SELECT
18+
VALUES
1919
VALUES_KW "values"
2020
WHITESPACE " "
2121
L_PAREN "("
@@ -59,7 +59,7 @@ SOURCE_FILE
5959
IDENT "price"
6060
R_PAREN ")"
6161
WHITESPACE " "
62-
SELECT
62+
VALUES
6363
VALUES_KW "values"
6464
WHITESPACE " "
6565
L_PAREN "("
@@ -103,7 +103,7 @@ SOURCE_FILE
103103
IDENT "product_no"
104104
R_PAREN ")"
105105
WHITESPACE " "
106-
SELECT
106+
VALUES
107107
VALUES_KW "values"
108108
WHITESPACE " "
109109
L_PAREN "("
@@ -162,7 +162,7 @@ SOURCE_FILE
162162
IDENT "price"
163163
R_PAREN ")"
164164
WHITESPACE " "
165-
SELECT
165+
VALUES
166166
VALUES_KW "values"
167167
WHITESPACE "\n "
168168
L_PAREN "("
@@ -357,7 +357,7 @@ SOURCE_FILE
357357
NAME_REF
358358
IDENT "films"
359359
WHITESPACE " "
360-
SELECT
360+
VALUES
361361
VALUES_KW "VALUES"
362362
WHITESPACE "\n "
363363
L_PAREN "("
@@ -423,7 +423,7 @@ SOURCE_FILE
423423
IDENT "kind"
424424
R_PAREN ")"
425425
WHITESPACE "\n "
426-
SELECT
426+
VALUES
427427
VALUES_KW "VALUES"
428428
WHITESPACE " "
429429
L_PAREN "("
@@ -458,7 +458,7 @@ SOURCE_FILE
458458
NAME_REF
459459
IDENT "films"
460460
WHITESPACE " "
461-
SELECT
461+
VALUES
462462
VALUES_KW "VALUES"
463463
WHITESPACE "\n "
464464
L_PAREN "("
@@ -524,7 +524,7 @@ SOURCE_FILE
524524
IDENT "kind"
525525
R_PAREN ")"
526526
WHITESPACE "\n "
527-
SELECT
527+
VALUES
528528
VALUES_KW "VALUES"
529529
WHITESPACE " "
530530
L_PAREN "("
@@ -601,7 +601,7 @@ SOURCE_FILE
601601
IDENT "kind"
602602
R_PAREN ")"
603603
WHITESPACE " "
604-
SELECT
604+
VALUES
605605
VALUES_KW "VALUES"
606606
WHITESPACE "\n "
607607
L_PAREN "("
@@ -725,7 +725,7 @@ SOURCE_FILE
725725
R_BRACK "]"
726726
R_PAREN ")"
727727
WHITESPACE "\n "
728-
SELECT
728+
VALUES
729729
VALUES_KW "VALUES"
730730
WHITESPACE " "
731731
L_PAREN "("
@@ -762,7 +762,7 @@ SOURCE_FILE
762762
IDENT "board"
763763
R_PAREN ")"
764764
WHITESPACE "\n "
765-
SELECT
765+
VALUES
766766
VALUES_KW "VALUES"
767767
WHITESPACE " "
768768
L_PAREN "("
@@ -797,7 +797,7 @@ SOURCE_FILE
797797
IDENT "dname"
798798
R_PAREN ")"
799799
WHITESPACE " "
800-
SELECT
800+
VALUES
801801
VALUES_KW "VALUES"
802802
WHITESPACE " "
803803
L_PAREN "("
@@ -947,7 +947,7 @@ SOURCE_FILE
947947
IDENT "dname"
948948
R_PAREN ")"
949949
WHITESPACE "\n "
950-
SELECT
950+
VALUES
951951
VALUES_KW "VALUES"
952952
WHITESPACE " "
953953
L_PAREN "("
@@ -1019,7 +1019,7 @@ SOURCE_FILE
10191019
IDENT "dname"
10201020
R_PAREN ")"
10211021
WHITESPACE " "
1022-
SELECT
1022+
VALUES
10231023
VALUES_KW "VALUES"
10241024
WHITESPACE " "
10251025
L_PAREN "("
@@ -1075,7 +1075,7 @@ SOURCE_FILE
10751075
IDENT "dname"
10761076
R_PAREN ")"
10771077
WHITESPACE " "
1078-
SELECT
1078+
VALUES
10791079
VALUES_KW "VALUES"
10801080
WHITESPACE " "
10811081
L_PAREN "("
@@ -1185,7 +1185,7 @@ SOURCE_FILE
11851185
IDENT "dname"
11861186
R_PAREN ")"
11871187
WHITESPACE " "
1188-
SELECT
1188+
VALUES
11891189
VALUES_KW "VALUES"
11901190
WHITESPACE " "
11911191
L_PAREN "("
@@ -1241,7 +1241,7 @@ SOURCE_FILE
12411241
IDENT "dname"
12421242
R_PAREN ")"
12431243
WHITESPACE " "
1244-
SELECT
1244+
VALUES
12451245
VALUES_KW "VALUES"
12461246
WHITESPACE " "
12471247
L_PAREN "("
@@ -1297,7 +1297,7 @@ SOURCE_FILE
12971297
IDENT "c"
12981298
R_PAREN ")"
12991299
WHITESPACE " "
1300-
SELECT
1300+
VALUES
13011301
VALUES_KW "values"
13021302
WHITESPACE " "
13031303
L_PAREN "("

0 commit comments

Comments
 (0)