Skip to content

Commit 2b5711e

Browse files
authored
parser,lexer: rename param to positional_param (#489)
We were accidentally reusing the positional param type, `PARAM`, as the name for function param nodes. Being more verbose so we can keep using the param name in the ast.
1 parent 430a089 commit 2b5711e

File tree

11 files changed

+58
-53
lines changed

11 files changed

+58
-53
lines changed

crates/squawk_lexer/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ impl Cursor<'_> {
114114
while self.first().is_ascii_digit() {
115115
self.bump();
116116
}
117-
TokenKind::Param
117+
TokenKind::PositionalParam
118118
}
119119
}
120120
'`' => TokenKind::Backtick,

crates/squawk_lexer/src/snapshots/squawk_lexer__tests__params.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@ expression: "lex(r#\"\nselect $1 + $2;\n\nselect $1123123123123;\n\nselect $;\n\
66
"\n" @ Whitespace,
77
"select" @ Ident,
88
" " @ Whitespace,
9-
"$1" @ Param,
9+
"$1" @ PositionalParam,
1010
" " @ Whitespace,
1111
"+" @ Plus,
1212
" " @ Whitespace,
13-
"$2" @ Param,
13+
"$2" @ PositionalParam,
1414
";" @ Semi,
1515
"\n\n" @ Whitespace,
1616
"select" @ Ident,
1717
" " @ Whitespace,
18-
"$1123123123123" @ Param,
18+
"$1123123123123" @ PositionalParam,
1919
";" @ Semi,
2020
"\n\n" @ Whitespace,
2121
"select" @ Ident,
2222
" " @ Whitespace,
23-
"$" @ Param,
23+
"$" @ PositionalParam,
2424
";" @ Semi,
2525
"\n" @ Whitespace,
2626
]

crates/squawk_lexer/src/token.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ pub enum TokenKind {
8080
/// Positional Parameter, e.g., `$1`
8181
///
8282
/// see: <https://www.postgresql.org/docs/16/sql-expressions.html#SQL-EXPRESSIONS-PARAMETERS-POSITIONAL>
83-
Param,
83+
PositionalParam,
8484
/// Quoted Identifier, e.g., `"update"` in `update "my_table" set "a" = 5;`
8585
///
8686
/// These are case-sensitive, unlike [`TokenKind::Ident`]

crates/squawk_parser/src/grammar.rs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -777,9 +777,9 @@ fn atom_expr(p: &mut Parser<'_>) -> Option<CompletedMarker> {
777777
return Some(m);
778778
}
779779
let done = match (p.current(), p.nth(1)) {
780-
(PARAM, _) => {
780+
(POSITIONAL_PARAM, _) => {
781781
let m = p.start();
782-
p.bump(PARAM);
782+
p.bump(POSITIONAL_PARAM);
783783
m.complete(p, LITERAL)
784784
}
785785
(VALUES_KW, _) => values_clause(p, None),
@@ -4116,7 +4116,16 @@ pub(crate) const OPERATOR_FIRST: TokenSet = TokenSet::new(&[
41164116
]);
41174117

41184118
const LHS_FIRST: TokenSet = TokenSet::new(&[
4119-
L_PAREN, L_BRACK, CAST_KW, NOT_KW, IS_KW, PARAM, CASE_KW, ARRAY_KW, ROW_KW, DEFAULT_KW,
4119+
L_PAREN,
4120+
L_BRACK,
4121+
CAST_KW,
4122+
NOT_KW,
4123+
IS_KW,
4124+
POSITIONAL_PARAM,
4125+
CASE_KW,
4126+
ARRAY_KW,
4127+
ROW_KW,
4128+
DEFAULT_KW,
41204129
])
41214130
.union(OPERATOR_FIRST)
41224131
.union(LITERAL_FIRST)

crates/squawk_parser/src/lexed_str.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ impl<'a> Converter<'a> {
217217
}
218218
squawk_lexer::TokenKind::Eof => SyntaxKind::EOF,
219219
squawk_lexer::TokenKind::Backtick => SyntaxKind::BACKTICK,
220-
squawk_lexer::TokenKind::Param => SyntaxKind::PARAM,
220+
squawk_lexer::TokenKind::PositionalParam => SyntaxKind::POSITIONAL_PARAM,
221221
squawk_lexer::TokenKind::QuotedIdent { terminated } => {
222222
if !terminated {
223223
err = "Missing trailing \" to terminate the quoted identifier"

crates/squawk_parser/src/syntax_kind.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1104,7 +1104,7 @@ pub enum SyntaxKind {
11041104
/// see: <https://www.postgresql.org/docs/17/sql-syntax-lexical.html#SQL-SYNTAX-COMMENTS>
11051105
COMMENT,
11061106
IDENT,
1107-
PARAM,
1107+
POSITIONAL_PARAM,
11081108
ERROR,
11091109
WHITESPACE,
11101110

@@ -1250,6 +1250,7 @@ pub enum SyntaxKind {
12501250
CREATE_TYPE_STMT,
12511251
CREATE_TRIGGER_STMT,
12521252
CREATE_FUNCTION_STMT,
1253+
PARAM,
12531254
PARAM_IN,
12541255
PARAM_OUT,
12551256
PARAM_INOUT,

crates/squawk_parser/tests/snapshots/tests__explain_ok.snap

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
source: crates/squawk_parser/tests/tests.rs
33
input_file: crates/squawk_parser/tests/data/ok/explain.sql
4-
snapshot_kind: text
54
---
65
SOURCE_FILE
76
COMMENT "-- simple"
@@ -373,7 +372,7 @@ SOURCE_FILE
373372
R_ANGLE ">"
374373
WHITESPACE " "
375374
LITERAL
376-
PARAM "$1"
375+
POSITIONAL_PARAM "$1"
377376
WHITESPACE " "
378377
AND_KW "AND"
379378
WHITESPACE " "
@@ -384,7 +383,7 @@ SOURCE_FILE
384383
L_ANGLE "<"
385384
WHITESPACE " "
386385
LITERAL
387-
PARAM "$2"
386+
POSITIONAL_PARAM "$2"
388387
WHITESPACE "\n "
389388
GROUP_BY_CLAUSE
390389
GROUP_KW "GROUP"
@@ -457,7 +456,7 @@ SOURCE_FILE
457456
R_ANGLE ">"
458457
WHITESPACE " "
459458
LITERAL
460-
PARAM "$1"
459+
POSITIONAL_PARAM "$1"
461460
WHITESPACE " "
462461
AND_KW "AND"
463462
WHITESPACE " "
@@ -468,7 +467,7 @@ SOURCE_FILE
468467
L_ANGLE "<"
469468
WHITESPACE " "
470469
LITERAL
471-
PARAM "$2"
470+
POSITIONAL_PARAM "$2"
472471
WHITESPACE "\n "
473472
GROUP_BY_CLAUSE
474473
GROUP_KW "GROUP"
@@ -521,7 +520,7 @@ SOURCE_FILE
521520
WHITESPACE " "
522521
CAST_EXPR
523522
LITERAL
524-
PARAM "$1"
523+
POSITIONAL_PARAM "$1"
525524
COLON2 "::"
526525
PATH_TYPE
527526
PATH
@@ -539,7 +538,7 @@ SOURCE_FILE
539538
WHITESPACE " "
540539
CAST_EXPR
541540
LITERAL
542-
PARAM "$2"
541+
POSITIONAL_PARAM "$2"
543542
COLON2 "::"
544543
PATH_TYPE
545544
PATH

crates/squawk_parser/tests/snapshots/tests__misc_ok.snap

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
source: crates/squawk_parser/tests/tests.rs
33
input_file: crates/squawk_parser/tests/data/ok/misc.sql
4-
snapshot_kind: text
54
---
65
SOURCE_FILE
76
CREATE_TABLE
@@ -100,7 +99,7 @@ SOURCE_FILE
10099
WHITESPACE "\n "
101100
CAST_EXPR
102101
LITERAL
103-
PARAM "$1"
102+
POSITIONAL_PARAM "$1"
104103
COLON2 "::"
105104
ARRAY_TYPE
106105
PATH_TYPE
@@ -114,7 +113,7 @@ SOURCE_FILE
114113
WHITESPACE " \n "
115114
CAST_EXPR
116115
LITERAL
117-
PARAM "$2"
116+
POSITIONAL_PARAM "$2"
118117
COLON2 "::"
119118
ARRAY_TYPE
120119
PATH_TYPE
@@ -128,7 +127,7 @@ SOURCE_FILE
128127
WHITESPACE " \n "
129128
CAST_EXPR
130129
LITERAL
131-
PARAM "$3"
130+
POSITIONAL_PARAM "$3"
132131
COLON2 "::"
133132
ARRAY_TYPE
134133
PATH_TYPE
@@ -174,45 +173,45 @@ SOURCE_FILE
174173
WHITESPACE " \n "
175174
L_PAREN "("
176175
LITERAL
177-
PARAM "$1"
176+
POSITIONAL_PARAM "$1"
178177
COMMA ","
179178
WHITESPACE " "
180179
LITERAL
181-
PARAM "$2"
180+
POSITIONAL_PARAM "$2"
182181
COMMA ","
183182
WHITESPACE " "
184183
LITERAL
185-
PARAM "$3"
184+
POSITIONAL_PARAM "$3"
186185
R_PAREN ")"
187186
COMMA ","
188187
WHITESPACE " \n "
189188
L_PAREN "("
190189
LITERAL
191-
PARAM "$4"
190+
POSITIONAL_PARAM "$4"
192191
COMMA ","
193192
WHITESPACE " "
194193
LITERAL
195-
PARAM "$5"
194+
POSITIONAL_PARAM "$5"
196195
COMMA ","
197196
WHITESPACE " "
198197
LITERAL
199-
PARAM "$6"
198+
POSITIONAL_PARAM "$6"
200199
R_PAREN ")"
201200
COMMA ","
202201
WHITESPACE " \n "
203202
COMMENT "-- ..., "
204203
WHITESPACE "\n "
205204
L_PAREN "("
206205
LITERAL
207-
PARAM "$2998"
206+
POSITIONAL_PARAM "$2998"
208207
COMMA ","
209208
WHITESPACE " "
210209
LITERAL
211-
PARAM "$2999"
210+
POSITIONAL_PARAM "$2999"
212211
COMMA ","
213212
WHITESPACE " "
214213
LITERAL
215-
PARAM "$3000"
214+
POSITIONAL_PARAM "$3000"
216215
R_PAREN ")"
217216
SEMICOLON ";"
218217
WHITESPACE "\n\n\n"
@@ -294,7 +293,7 @@ SOURCE_FILE
294293
IDENT "api_key"
295294
FAT_ARROW "=>"
296295
LITERAL
297-
PARAM "$1"
296+
POSITIONAL_PARAM "$1"
298297
WHITESPACE "\n"
299298
R_PAREN ")"
300299
WHITESPACE " "
@@ -342,7 +341,7 @@ SOURCE_FILE
342341
COMMA ","
343342
WHITESPACE " "
344343
LITERAL
345-
PARAM "$1"
344+
POSITIONAL_PARAM "$1"
346345
R_PAREN ")"
347346
WHITESPACE " "
348347
ALIAS
@@ -492,7 +491,7 @@ SOURCE_FILE
492491
COMMA ","
493492
WHITESPACE " "
494493
LITERAL
495-
PARAM "$1"
494+
POSITIONAL_PARAM "$1"
496495
WHITESPACE "\n "
497496
COMMA ","
498497
WHITESPACE " "
@@ -512,7 +511,7 @@ SOURCE_FILE
512511
IDENT "_api_key"
513512
FAT_ARROW "=>"
514513
LITERAL
515-
PARAM "$2"
514+
POSITIONAL_PARAM "$2"
516515
WHITESPACE "\n "
517516
R_PAREN ")"
518517
WHITESPACE " "
@@ -648,14 +647,14 @@ SOURCE_FILE
648647
COMMENT "-- %s,"
649648
WHITESPACE "\n "
650649
LITERAL
651-
PARAM "$1"
650+
POSITIONAL_PARAM "$1"
652651
COMMA ","
653652
WHITESPACE "\n "
654653
COMMENT "-- %s::jsonb,"
655654
WHITESPACE "\n "
656655
CAST_EXPR
657656
LITERAL
658-
PARAM "$2"
657+
POSITIONAL_PARAM "$2"
659658
COLON2 "::"
660659
PATH_TYPE
661660
PATH
@@ -681,7 +680,7 @@ SOURCE_FILE
681680
IDENT "api_key"
682681
FAT_ARROW "=>"
683682
LITERAL
684-
PARAM "$3"
683+
POSITIONAL_PARAM "$3"
685684
WHITESPACE "\n "
686685
R_PAREN ")"
687686
CUSTOM_OP

crates/squawk_parser/tests/snapshots/tests__prepare_ok.snap

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
source: crates/squawk_parser/tests/tests.rs
33
input_file: crates/squawk_parser/tests/data/ok/prepare.sql
4-
snapshot_kind: text
54
---
65
SOURCE_FILE
76
COMMENT "-- insert"
@@ -57,19 +56,19 @@ SOURCE_FILE
5756
VALUES_KW "VALUES"
5857
L_PAREN "("
5958
LITERAL
60-
PARAM "$1"
59+
POSITIONAL_PARAM "$1"
6160
COMMA ","
6261
WHITESPACE " "
6362
LITERAL
64-
PARAM "$2"
63+
POSITIONAL_PARAM "$2"
6564
COMMA ","
6665
WHITESPACE " "
6766
LITERAL
68-
PARAM "$3"
67+
POSITIONAL_PARAM "$3"
6968
COMMA ","
7069
WHITESPACE " "
7170
LITERAL
72-
PARAM "$4"
71+
POSITIONAL_PARAM "$4"
7372
R_PAREN ")"
7473
SEMICOLON ";"
7574
WHITESPACE "\n\n\n\n"
@@ -131,7 +130,7 @@ SOURCE_FILE
131130
IDENT "usrid"
132131
EQ "="
133132
LITERAL
134-
PARAM "$1"
133+
POSITIONAL_PARAM "$1"
135134
WHITESPACE " "
136135
AND_KW "AND"
137136
WHITESPACE " "
@@ -163,7 +162,7 @@ SOURCE_FILE
163162
EQ "="
164163
WHITESPACE " "
165164
LITERAL
166-
PARAM "$2"
165+
POSITIONAL_PARAM "$2"
167166
SEMICOLON ";"
168167
WHITESPACE "\n\n"
169168
PREPARE_STMT

0 commit comments

Comments
 (0)