---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/err/copy.sql
---
SOURCE_FILE
COMMENT "-- missing a couple commas"
WHITESPACE "\n"
COPY
COPY_KW "copy"
WHITESPACE " "
COPY_TABLE
TABLE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
NAME_REF
IDENT "x"
WHITESPACE " "
COLUMN_REF_LIST
L_PAREN "("
COLUMN_REF
NAME_REF
IDENT "i"
WHITESPACE " "
COLUMN_REF
NAME_REF
IDENT "y"
R_PAREN ")"
WHITESPACE " "
COPY_FROM
FROM_KW "from"
WHITESPACE " "
LITERAL
STRING "'/tmp/input.file'"
WHITESPACE " "
COPY_OPTION_LIST
L_PAREN "("
COPY_OPTION
NAME
IDENT "on_error"
WHITESPACE " "
IGNORE_KW "ignore"
WHITESPACE " "
COPY_OPTION
NAME
IDENT "log_verbosity"
WHITESPACE " "
VERBOSE_KW "verbose"
R_PAREN ")"
SEMICOLON ";"
WHITESPACE "\n\n"
COMMENT "-- legacy force option requires a target"
WHITESPACE "\n"
COPY
COPY_KW "copy"
WHITESPACE " "
COPY_TABLE
TABLE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
NAME_REF
IDENT "t"
WHITESPACE " "
COPY_FROM
FROM_KW "from"
WHITESPACE " "
LITERAL
STRING "'s'"
WHITESPACE " "
WITH_KW "with"
WHITESPACE " "
FORCE_KW "force"
SEMICOLON ";"
WHITESPACE "\n"
COPY
COPY_KW "copy"
WHITESPACE " "
COPY_TABLE
TABLE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
NAME_REF
IDENT "t"
WHITESPACE " "
COPY_FROM
FROM_KW "from"
WHITESPACE " "
LITERAL
STRING "'s'"
WHITESPACE " "
WITH_KW "with"
WHITESPACE " "
FORCE_KW "force"
WHITESPACE " "
NULL_KW "null"
SEMICOLON ";"
WHITESPACE "\n"
COPY
COPY_KW "copy"
WHITESPACE " "
COPY_TABLE
TABLE_NAME_REF
PATH_REF
PATH_SEGMENT_REF
NAME_REF
IDENT "t"
WHITESPACE " "
COPY_FROM
FROM_KW "from"
WHITESPACE " "
LITERAL
STRING "'s'"
WHITESPACE " "
WITH_KW "with"
WHITESPACE " "
FORCE_KW "force"
WHITESPACE " "
ERROR
IDENT "zzz"
EMPTY_STMT
SEMICOLON ";"
WHITESPACE "\n"
---
error[syntax-error]: expected COMMA
╭▸
2 │ copy x (i y) from '/tmp/input.file' (on_error ignore log_verbosity verbose);
╰╴ ━
error[syntax-error]: expected COMMA
╭▸
2 │ copy x (i y) from '/tmp/input.file' (on_error ignore log_verbosity verbose);
╰╴ ━
error[syntax-error]: expected NOT, QUOTE, or NULL
╭▸
5 │ copy t from 's' with force;
╰╴ ━
error[syntax-error]: expected name
╭▸
6 │ copy t from 's' with force null;
╰╴ ━
error[syntax-error]: expected NOT, QUOTE, or NULL
╭▸
7 │ copy t from 's' with force zzz;
╰╴ ━
error[syntax-error]: expected command, found IDENT
╭▸
7 │ copy t from 's' with force zzz;
╰╴ ━