---
source: crates/squawk_syntax/src/test.rs
input_file: crates/squawk_syntax/test_data/validation/drop_aggregate_params.sql
---
SOURCE_FILE@0..389
WHITESPACE@0..1 "\n"
COMMENT@1..8 "-- full"
WHITESPACE@8..9 "\n"
DROP_AGGREGATE@9..167
DROP_KW@9..13 "drop"
WHITESPACE@13..14 " "
AGGREGATE_KW@14..23 "aggregate"
WHITESPACE@23..27 " \n "
IF_EXISTS@27..36
IF_KW@27..29 "if"
WHITESPACE@29..30 " "
EXISTS_KW@30..36 "exists"
WHITESPACE@36..42 " \n "
AGGREGATE@42..46
PATH@42..43
PATH_SEGMENT@42..43
NAME_REF@42..43
IDENT@42..43 "a"
PARAM_LIST@43..46
L_PAREN@43..44 "("
STAR@44..45 "*"
R_PAREN@45..46 ")"
COMMA@46..47 ","
WHITESPACE@47..53 " \n "
AGGREGATE@53..63
PATH@53..60
PATH@53..56
PATH_SEGMENT@53..56
NAME_REF@53..56
IDENT@53..56 "foo"
DOT@56..57 "."
PATH_SEGMENT@57..60
NAME_REF@57..60
IDENT@57..60 "bar"
PARAM_LIST@60..63
L_PAREN@60..61 "("
STAR@61..62 "*"
R_PAREN@62..63 ")"
COMMA@63..64 ","
WHITESPACE@64..70 " \n "
AGGREGATE@70..146
PATH@70..77
PATH@70..73
PATH_SEGMENT@70..73
NAME_REF@70..73
IDENT@70..73 "foo"
DOT@73..74 "."
PATH_SEGMENT@74..77
NAME_REF@74..77
IDENT@74..77 "bar"
PARAM_LIST@77..146
L_PAREN@77..78 "("
WHITESPACE@78..87 "\n "
PARAM@87..101
PARAM_IN@87..89
IN_KW@87..89 "in"
WHITESPACE@89..90 " "
NAME@90..93
IDENT@90..93 "foo"
WHITESPACE@93..94 " "
PATH_TYPE@94..101
PATH@94..101
PATH_SEGMENT@94..101
NAME_REF@94..101
INTEGER_KW@94..101 "integer"
COMMA@101..102 ","
WHITESPACE@102..111 "\n "
PARAM@111..126
PARAM_OUT@111..114
OUT_KW@111..114 "out"
WHITESPACE@114..115 " "
NAME@115..118
IDENT@115..118 "bar"
WHITESPACE@118..119 " "
PATH_TYPE@119..126
PATH@119..126
PATH_SEGMENT@119..126
NAME_REF@119..126
INTEGER_KW@119..126 "integer"
COMMA@126..127 ","
WHITESPACE@127..136 "\n "
PARAM@136..140
PATH_TYPE@136..140
PATH@136..140
PATH_SEGMENT@136..140
NAME_REF@136..140
TEXT_KW@136..140 "text"
WHITESPACE@140..145 "\n "
R_PAREN@145..146 ")"
COMMA@146..147 ","
WHITESPACE@147..153 " \n "
AGGREGATE@153..157
PATH@153..154
PATH_SEGMENT@153..154
NAME_REF@153..154
IDENT@153..154 "c"
PARAM_LIST@154..157
L_PAREN@154..155 "("
STAR@155..156 "*"
R_PAREN@156..157 ")"
WHITESPACE@157..160 "\n "
CASCADE_KW@160..167 "cascade"
SEMICOLON@167..168 ";"
WHITESPACE@168..170 "\n\n"
COMMENT@170..182 "-- aggregate"
WHITESPACE@182..183 "\n"
DROP_AGGREGATE@183..299
DROP_KW@183..187 "drop"
WHITESPACE@187..188 " "
AGGREGATE_KW@188..197 "aggregate"
WHITESPACE@197..198 " "
AGGREGATE@198..290
PATH@198..199
PATH_SEGMENT@198..199
NAME_REF@198..199
IDENT@198..199 "a"
PARAM_LIST@199..290
L_PAREN@199..200 "("
WHITESPACE@200..203 "\n "
PARAM@203..210
PATH_TYPE@203..210
PATH@203..210
PATH_SEGMENT@203..210
NAME_REF@203..210
INTEGER_KW@203..210 "integer"
COMMA@210..211 ","
WHITESPACE@211..214 "\n "
PARAM@214..218
PATH_TYPE@214..218
PATH@214..218
PATH_SEGMENT@214..218
NAME_REF@214..218
TEXT_KW@214..218 "text"
COMMA@218..219 ","
WHITESPACE@219..222 "\n "
PARAM@222..229
PATH_TYPE@222..229
PATH@222..229
PATH_SEGMENT@222..229
NAME_REF@222..229
NUMERIC_KW@222..229 "numeric"
WHITESPACE@229..232 "\n "
ORDER_KW@232..237 "order"
WHITESPACE@237..238 " "
BY_KW@238..240 "by"
WHITESPACE@240..245 "\n "
PARAM@245..259
PARAM_IN@245..247
IN_KW@245..247 "in"
WHITESPACE@247..248 " "
NAME@248..249
IDENT@248..249 "a"
WHITESPACE@249..250 " "
TIME_TYPE@250..259
TIMESTAMP_KW@250..259 "timestamp"
COMMA@259..260 ","
WHITESPACE@260..265 "\n "
PARAM@265..278
PARAM_OUT@265..268
OUT_KW@265..268 "out"
WHITESPACE@268..269 " "
NAME@269..270
IDENT@269..270 "b"
WHITESPACE@270..271 " "
PATH_TYPE@271..278
PATH@271..278
PATH_SEGMENT@271..278
NAME_REF@271..278
NUMERIC_KW@271..278 "numeric"
COMMA@278..279 ","
WHITESPACE@279..284 "\n "
PARAM@284..288
PATH_TYPE@284..288
PATH@284..288
PATH_SEGMENT@284..288
NAME_REF@284..288
TEXT_KW@284..288 "text"
WHITESPACE@288..289 "\n"
R_PAREN@289..290 ")"
WHITESPACE@290..291 " "
RESTRICT_KW@291..299 "restrict"
SEMICOLON@299..300 ";"
WHITESPACE@300..302 "\n\n"
DROP_AGGREGATE@302..386
DROP_KW@302..306 "drop"
WHITESPACE@306..307 " "
AGGREGATE_KW@307..316 "aggregate"
WHITESPACE@316..317 " "
AGGREGATE@317..386
PATH@317..324
PATH@317..320
PATH_SEGMENT@317..320
NAME_REF@317..320
IDENT@317..320 "foo"
DOT@320..321 "."
PATH_SEGMENT@321..324
NAME_REF@321..324
IDENT@321..324 "bar"
PARAM_LIST@324..386
L_PAREN@324..325 "("
WHITESPACE@325..328 "\n "
ORDER_KW@328..333 "order"
WHITESPACE@333..334 " "
BY_KW@334..336 "by"
WHITESPACE@336..341 "\n "
PARAM@341..355
PARAM_IN@341..343
IN_KW@341..343 "in"
WHITESPACE@343..344 " "
NAME@344..345
IDENT@344..345 "a"
WHITESPACE@345..346 " "
TIME_TYPE@346..355
TIMESTAMP_KW@346..355 "timestamp"
COMMA@355..356 ","
WHITESPACE@356..361 "\n "
PARAM@361..374
PARAM_OUT@361..364
OUT_KW@361..364 "out"
WHITESPACE@364..365 " "
NAME@365..366
IDENT@365..366 "b"
WHITESPACE@366..367 " "
PATH_TYPE@367..374
PATH@367..374
PATH_SEGMENT@367..374
NAME_REF@367..374
NUMERIC_KW@367..374 "numeric"
COMMA@374..375 ","
WHITESPACE@375..380 "\n "
PARAM@380..384
PATH_TYPE@380..384
PATH@380..384
PATH_SEGMENT@380..384
NAME_REF@380..384
TEXT_KW@380..384 "text"
WHITESPACE@384..385 "\n"
R_PAREN@385..386 ")"
SEMICOLON@386..387 ";"
WHITESPACE@387..389 "\n\n"
error[syntax-error]: Out params are not allowed with aggregates.
╭▸
9 │ out bar integer,
╰╴ ━━━
error[syntax-error]: Out params are not allowed with aggregates.
╭▸
22 │ out b numeric,
╰╴ ━━━
error[syntax-error]: Out params are not allowed with aggregates.
╭▸
29 │ out b numeric,
╰╴ ━━━