---
source: crates/squawk_parser/tests/tests.rs
input_file: crates/squawk_parser/tests/data/err/select_literal.sql
---
SOURCE_FILE
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "123abc"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0x0o"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "0.a"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "0.0a"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER ".0a"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "0.0e1a"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "0.0e"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "0.0e+a"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
POSITIONAL_PARAM "$1a"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0b"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "1b"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0b0x"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0o"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "1o"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0o0x"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0x"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "1x"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0x0y"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0o999"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0o7889"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0b234"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "0b101_010_"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "100_"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "100__000"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
NAME_REF
IDENT "_1_000"
TARGET
LITERAL
NUMERIC_NUMBER ".5"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
INT_NUMBER "1_000_"
TARGET
LITERAL
NUMERIC_NUMBER ".5"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "1_000._5"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "1_000.5_"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
NUMERIC_NUMBER "1_000.5e_1"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
POSITIONAL_PARAM "$0_1"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
POSITIONAL_PARAM "$2147483648"
SEMICOLON ";"
WHITESPACE "\n"
COMMENT "-- empty placeholder"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
POSITIONAL_PARAM "$"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
LITERAL
POSITIONAL_PARAM "$0111111111111111111111111111111111111111111111111111"
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
NAME_REF
IDENT "\"\""
SEMICOLON ";"
WHITESPACE "\n"
SELECT
SELECT_CLAUSE
SELECT_KW "SELECT"
WHITESPACE " "
TARGET_LIST
TARGET
NAME_REF
IDENT "U&\"\""
SEMICOLON ";"
WHITESPACE "\n"
---
error[syntax-error]: trailing junk after numeric literal
╭▸
1 │ SELECT 123abc;
╰╴ ━━━
error[syntax-error]: trailing junk after numeric literal
╭▸
2 │ SELECT 0x0o;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
3 │ SELECT 0.a;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
4 │ SELECT 0.0a;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
5 │ SELECT .0a;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
6 │ SELECT 0.0e1a;
╰╴ ━
error[syntax-error]: Missing digits after the exponent symbol
╭▸
7 │ SELECT 0.0e;
╰╴ ━
error[syntax-error]: Missing digits after the exponent symbol
╭▸
8 │ SELECT 0.0e+a;
╰╴ ━
error[syntax-error]: trailing junk after positional parameter
╭▸
9 │ SELECT $1a;
╰╴ ━
error[syntax-error]: Missing digits after the integer base prefix
╭▸
10 │ SELECT 0b;
╰╴ ━━
error[syntax-error]: trailing junk after numeric literal
╭▸
11 │ SELECT 1b;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
12 │ SELECT 0b0x;
╰╴ ━
error[syntax-error]: Missing digits after the integer base prefix
╭▸
13 │ SELECT 0o;
╰╴ ━━
error[syntax-error]: trailing junk after numeric literal
╭▸
14 │ SELECT 1o;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
15 │ SELECT 0o0x;
╰╴ ━
error[syntax-error]: Missing digits after the integer base prefix
╭▸
16 │ SELECT 0x;
╰╴ ━━
error[syntax-error]: trailing junk after numeric literal
╭▸
17 │ SELECT 1x;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
18 │ SELECT 0x0y;
╰╴ ━
error[syntax-error]: invalid digit for a base 8 literal
╭▸
19 │ SELECT 0o999;
╰╴ ━
error[syntax-error]: invalid digit for a base 8 literal
╭▸
19 │ SELECT 0o999;
╰╴ ━
error[syntax-error]: invalid digit for a base 8 literal
╭▸
19 │ SELECT 0o999;
╰╴ ━
error[syntax-error]: invalid digit for a base 8 literal
╭▸
20 │ SELECT 0o7889;
╰╴ ━
error[syntax-error]: invalid digit for a base 8 literal
╭▸
20 │ SELECT 0o7889;
╰╴ ━
error[syntax-error]: invalid digit for a base 8 literal
╭▸
20 │ SELECT 0o7889;
╰╴ ━
error[syntax-error]: invalid digit for a base 2 literal
╭▸
21 │ SELECT 0b234;
╰╴ ━
error[syntax-error]: invalid digit for a base 2 literal
╭▸
21 │ SELECT 0b234;
╰╴ ━
error[syntax-error]: invalid digit for a base 2 literal
╭▸
21 │ SELECT 0b234;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
22 │ SELECT 0b101_010_;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
23 │ SELECT 100_;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
24 │ SELECT 100__000;
╰╴ ━━━━━
error[syntax-error]: missing comma
╭▸
25 │ SELECT _1_000.5;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
26 │ SELECT 1_000_.5;
╰╴ ━
error[syntax-error]: missing comma
╭▸
26 │ SELECT 1_000_.5;
╰╴ ━
error[syntax-error]: trailing junk after numeric literal
╭▸
27 │ SELECT 1_000._5;
╰╴ ━━
error[syntax-error]: trailing junk after numeric literal
╭▸
28 │ SELECT 1_000.5_;
╰╴ ━
error[syntax-error]: Missing digits after the exponent symbol
╭▸
29 │ SELECT 1_000.5e_1;
╰╴ ━
error[syntax-error]: trailing junk after positional parameter
╭▸
30 │ SELECT $0_1;
╰╴ ━━
error[syntax-error]: parameter number too large
╭▸
31 │ SELECT $2147483648;
╰╴ ━━━━━━━━━━━
error[syntax-error]: missing parameter number
╭▸
33 │ SELECT $;
╰╴ ━
error[syntax-error]: parameter number too large
╭▸
34 │ SELECT $0111111111111111111111111111111111111111111111111111;
╰╴ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
error[syntax-error]: empty delimited identifier
╭▸
35 │ SELECT "";
╰╴ ━━
error[syntax-error]: empty delimited identifier
╭▸
36 │ SELECT U&"";
╰╴ ━━━━