---
source: crates/squawk_syntax/src/test.rs
input_file: crates/squawk_syntax/test_data/validation/drop_aggregate_params.sql
---
SOURCE_FILE@0..488
WHITESPACE@0..1 "\n"
COMMENT@1..8 "-- full"
WHITESPACE@8..9 "\n"
DROP_AGGREGATE@9..223
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_REF@42..43
PATH_SEGMENT_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_REF@53..60
PATH_REF@53..56
PATH_SEGMENT_REF@53..56
IDENT@53..56 "foo"
DOT@56..57 "."
PATH_SEGMENT_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..201
PATH_REF@70..77
PATH_REF@70..73
PATH_SEGMENT_REF@70..73
IDENT@70..73 "foo"
DOT@73..74 "."
PATH_SEGMENT_REF@74..77
IDENT@74..77 "bar"
PARAM_LIST@77..201
L_PAREN@77..78 "("
WHITESPACE@78..87 "\n "
PARAM@87..101
PARAM_IN@87..89
IN_KW@87..89 "in"
WHITESPACE@89..90 " "
PARAM_NAME@90..93
IDENT@90..93 "foo"
WHITESPACE@93..94 " "
PATH_TYPE@94..101
PATH_REF@94..101
PATH_SEGMENT_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 " "
PARAM_NAME@115..118
IDENT@115..118 "bar"
WHITESPACE@118..119 " "
PATH_TYPE@119..126
PATH_REF@119..126
PATH_SEGMENT_REF@119..126
INTEGER_KW@119..126 "integer"
COMMA@126..127 ","
WHITESPACE@127..136 "\n "
PARAM@136..153
PARAM_IN_OUT@136..141
INOUT_KW@136..141 "inout"
WHITESPACE@141..142 " "
PARAM_NAME@142..145
IDENT@142..145 "baz"
WHITESPACE@145..146 " "
PATH_TYPE@146..153
PATH_REF@146..153
PATH_SEGMENT_REF@146..153
INTEGER_KW@146..153 "integer"
COMMA@153..154 ","
WHITESPACE@154..163 "\n "
PARAM@163..181
PARAM_IN_OUT@163..169
IN_KW@163..165 "in"
WHITESPACE@165..166 " "
OUT_KW@166..169 "out"
WHITESPACE@169..170 " "
PARAM_NAME@170..173
IDENT@170..173 "qux"
WHITESPACE@173..174 " "
PATH_TYPE@174..181
PATH_REF@174..181
PATH_SEGMENT_REF@174..181
INTEGER_KW@174..181 "integer"
COMMA@181..182 ","
WHITESPACE@182..191 "\n "
PARAM@191..195
PATH_TYPE@191..195
PATH_REF@191..195
PATH_SEGMENT_REF@191..195
TEXT_KW@191..195 "text"
WHITESPACE@195..200 "\n "
R_PAREN@200..201 ")"
COMMA@201..202 ","
WHITESPACE@202..208 " \n "
AGGREGATE@208..212
PATH_REF@208..209
PATH_SEGMENT_REF@208..209
IDENT@208..209 "c"
PARAM_LIST@209..212
L_PAREN@209..210 "("
STAR@210..211 "*"
R_PAREN@211..212 ")"
WHITESPACE@212..215 "\n "
CASCADE@215..222
CASCADE_KW@215..222 "cascade"
SEMICOLON@222..223 ";"
WHITESPACE@223..225 "\n\n"
COMMENT@225..237 "-- aggregate"
WHITESPACE@237..238 "\n"
DROP_AGGREGATE@238..355
DROP_KW@238..242 "drop"
WHITESPACE@242..243 " "
AGGREGATE_KW@243..252 "aggregate"
WHITESPACE@252..253 " "
AGGREGATE@253..345
PATH_REF@253..254
PATH_SEGMENT_REF@253..254
IDENT@253..254 "a"
PARAM_LIST@254..345
L_PAREN@254..255 "("
WHITESPACE@255..258 "\n "
PARAM@258..265
PATH_TYPE@258..265
PATH_REF@258..265
PATH_SEGMENT_REF@258..265
INTEGER_KW@258..265 "integer"
COMMA@265..266 ","
WHITESPACE@266..269 "\n "
PARAM@269..273
PATH_TYPE@269..273
PATH_REF@269..273
PATH_SEGMENT_REF@269..273
TEXT_KW@269..273 "text"
COMMA@273..274 ","
WHITESPACE@274..277 "\n "
PARAM@277..284
PATH_TYPE@277..284
PATH_REF@277..284
PATH_SEGMENT_REF@277..284
NUMERIC_KW@277..284 "numeric"
WHITESPACE@284..287 "\n "
AGGREGATE_ORDER_BY@287..343
ORDER_KW@287..292 "order"
WHITESPACE@292..293 " "
BY_KW@293..295 "by"
WHITESPACE@295..300 "\n "
PARAM@300..314
PARAM_IN@300..302
IN_KW@300..302 "in"
WHITESPACE@302..303 " "
PARAM_NAME@303..304
IDENT@303..304 "a"
WHITESPACE@304..305 " "
TIMESTAMP_TYPE@305..314
TIMESTAMP_KW@305..314 "timestamp"
COMMA@314..315 ","
WHITESPACE@315..320 "\n "
PARAM@320..333
PARAM_OUT@320..323
OUT_KW@320..323 "out"
WHITESPACE@323..324 " "
PARAM_NAME@324..325
IDENT@324..325 "b"
WHITESPACE@325..326 " "
PATH_TYPE@326..333
PATH_REF@326..333
PATH_SEGMENT_REF@326..333
NUMERIC_KW@326..333 "numeric"
COMMA@333..334 ","
WHITESPACE@334..339 "\n "
PARAM@339..343
PATH_TYPE@339..343
PATH_REF@339..343
PATH_SEGMENT_REF@339..343
TEXT_KW@339..343 "text"
WHITESPACE@343..344 "\n"
R_PAREN@344..345 ")"
WHITESPACE@345..346 " "
RESTRICT@346..354
RESTRICT_KW@346..354 "restrict"
SEMICOLON@354..355 ";"
WHITESPACE@355..357 "\n\n"
DROP_AGGREGATE@357..442
DROP_KW@357..361 "drop"
WHITESPACE@361..362 " "
AGGREGATE_KW@362..371 "aggregate"
WHITESPACE@371..372 " "
AGGREGATE@372..441
PATH_REF@372..379
PATH_REF@372..375
PATH_SEGMENT_REF@372..375
IDENT@372..375 "foo"
DOT@375..376 "."
PATH_SEGMENT_REF@376..379
IDENT@376..379 "bar"
PARAM_LIST@379..441
L_PAREN@379..380 "("
WHITESPACE@380..383 "\n "
AGGREGATE_ORDER_BY@383..439
ORDER_KW@383..388 "order"
WHITESPACE@388..389 " "
BY_KW@389..391 "by"
WHITESPACE@391..396 "\n "
PARAM@396..410
PARAM_IN@396..398
IN_KW@396..398 "in"
WHITESPACE@398..399 " "
PARAM_NAME@399..400
IDENT@399..400 "a"
WHITESPACE@400..401 " "
TIMESTAMP_TYPE@401..410
TIMESTAMP_KW@401..410 "timestamp"
COMMA@410..411 ","
WHITESPACE@411..416 "\n "
PARAM@416..429
PARAM_OUT@416..419
OUT_KW@416..419 "out"
WHITESPACE@419..420 " "
PARAM_NAME@420..421
IDENT@420..421 "b"
WHITESPACE@421..422 " "
PATH_TYPE@422..429
PATH_REF@422..429
PATH_SEGMENT_REF@422..429
NUMERIC_KW@422..429 "numeric"
COMMA@429..430 ","
WHITESPACE@430..435 "\n "
PARAM@435..439
PATH_TYPE@435..439
PATH_REF@435..439
PATH_SEGMENT_REF@435..439
TEXT_KW@435..439 "text"
WHITESPACE@439..440 "\n"
R_PAREN@440..441 ")"
SEMICOLON@441..442 ";"
WHITESPACE@442..445 "\n\n\n"
DROP_AGGREGATE@445..487
DROP_KW@445..449 "drop"
WHITESPACE@449..450 " "
AGGREGATE_KW@450..459 "aggregate"
WHITESPACE@459..460 " "
AGGREGATE@460..486
PATH_REF@460..461
PATH_SEGMENT_REF@460..461
IDENT@460..461 "a"
PARAM_LIST@461..486
L_PAREN@461..462 "("
PARAM@462..485
PARAM_NAME@462..467
VALUE_KW@462..467 "value"
WHITESPACE@467..468 " "
PATH_TYPE@468..475
PATH_REF@468..475
PATH_SEGMENT_REF@468..475
INTEGER_KW@468..475 "integer"
WHITESPACE@475..476 " "
PARAM_DEFAULT@476..485
DEFAULT_KW@476..483 "default"
WHITESPACE@483..484 " "
LITERAL@484..485
INT_NUMBER@484..485 "1"
R_PAREN@485..486 ")"
SEMICOLON@486..487 ";"
WHITESPACE@487..488 "\n"
error[syntax-error]: Out params are not allowed with aggregates.
╭▸
9 │ out bar integer,
╰╴ ━━━
error[syntax-error]: In Out params are not allowed with aggregates.
╭▸
10 │ inout baz integer,
╰╴ ━━━━━
error[syntax-error]: In Out params are not allowed with aggregates.
╭▸
11 │ in out qux integer,
╰╴ ━━━━━━
error[syntax-error]: Out params are not allowed with aggregates.
╭▸
24 │ out b numeric,
╰╴ ━━━
error[syntax-error]: Out params are not allowed with aggregates.
╭▸
31 │ out b numeric,
╰╴ ━━━
error[syntax-error]: Defaults are not allowed.
╭▸
36 │ drop aggregate a(value integer default 1);
╰╴ ━━━━━━━━━