---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/ok/drop_routine.sql
---
SOURCE_FILE
COMMENT "-- simple"
WHITESPACE "\n"
DROP_ROUTINE
DROP_KW "drop"
WHITESPACE " "
ROUTINE_KW "routine"
WHITESPACE " "
FUNCTION_SIG_LIST
FUNCTION_SIG
PATH
PATH_SEGMENT
NAME_REF
IDENT "s"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- full"
WHITESPACE "\n"
DROP_ROUTINE
DROP_KW "drop"
WHITESPACE " "
ROUTINE_KW "routine"
WHITESPACE " "
IF_EXISTS
IF_KW "if"
WHITESPACE " "
EXISTS_KW "exists"
WHITESPACE " "
FUNCTION_SIG_LIST
FUNCTION_SIG
PATH
PATH_SEGMENT
NAME_REF
IDENT "a"
COMMA ","
WHITESPACE " "
FUNCTION_SIG
PATH
PATH_SEGMENT
NAME_REF
IDENT "b"
PARAM_LIST
L_PAREN "("
PARAM
PATH_TYPE
PATH
PATH_SEGMENT
NAME_REF
TEXT_KW "text"
R_PAREN ")"
COMMA ","
WHITESPACE " "
FUNCTION_SIG
PATH
PATH
PATH_SEGMENT
NAME_REF
IDENT "foo"
DOT "."
PATH_SEGMENT
NAME_REF
IDENT "c"
PARAM_LIST
L_PAREN "("
PARAM
PARAM_IN
IN_KW "in"
WHITESPACE " "
NAME
IDENT "f"
WHITESPACE " "
PATH_TYPE
PATH
PATH_SEGMENT
NAME_REF
INT_KW "int"
R_PAREN ")"
COMMA ","
WHITESPACE " "
FUNCTION_SIG
PATH
PATH_SEGMENT
NAME_REF
IDENT "b"
PARAM_LIST
L_PAREN "("
PARAM
PARAM_OUT
OUT_KW "out"
WHITESPACE " "
PATH_TYPE
PATH
PATH_SEGMENT
NAME_REF
TEXT_KW "text"
R_PAREN ")"
WHITESPACE " "
CASCADE_KW "cascade"
SEMICOLON ";"
WHITESPACE "\n"
DROP_ROUTINE
DROP_KW "drop"
WHITESPACE " "
ROUTINE_KW "routine"
WHITESPACE " "
IF_EXISTS
IF_KW "if"
WHITESPACE " "
EXISTS_KW "exists"
WHITESPACE " "
FUNCTION_SIG_LIST
FUNCTION_SIG
PATH
PATH_SEGMENT
NAME_REF
IDENT "a"
WHITESPACE " "
RESTRICT_KW "restrict"
SEMICOLON ";"
WHITESPACE "\n\n"