sq/drivers/sqlite3/internal/sqlparser/sqlite/SQLiteParser.interp

510 lines
78 KiB
Plaintext
Raw Normal View History

token literal names:
null
';'
'.'
'('
')'
','
'='
'*'
'+'
'-'
'~'
'||'
'/'
'%'
'<<'
'>>'
'&'
'|'
'<'
'<='
'>'
'>='
'=='
'!='
'<>'
'ABORT'
'ACTION'
'ADD'
'AFTER'
'ALL'
'ALTER'
'ANALYZE'
'AND'
'AS'
'ASC'
'ATTACH'
'AUTOINCREMENT'
'BEFORE'
'BEGIN'
'BETWEEN'
'BY'
'CASCADE'
'CASE'
'CAST'
'CHECK'
'COLLATE'
'COLUMN'
'COMMIT'
'CONFLICT'
'CONSTRAINT'
'CREATE'
'CROSS'
'CURRENT_DATE'
'CURRENT_TIME'
'CURRENT_TIMESTAMP'
'DATABASE'
'DEFAULT'
'DEFERRABLE'
'DEFERRED'
'DELETE'
'DESC'
'DETACH'
'DISTINCT'
'DROP'
'EACH'
'ELSE'
'END'
'ESCAPE'
'EXCEPT'
'EXCLUSIVE'
'EXISTS'
'EXPLAIN'
'FAIL'
'FOR'
'FOREIGN'
'FROM'
'FULL'
'GLOB'
'GROUP'
'HAVING'
'IF'
'IGNORE'
'IMMEDIATE'
'IN'
'INDEX'
'INDEXED'
'INITIALLY'
'INNER'
'INSERT'
'INSTEAD'
'INTERSECT'
'INTO'
'IS'
'ISNULL'
'JOIN'
'KEY'
'LEFT'
'LIKE'
'LIMIT'
'MATCH'
'NATURAL'
'NO'
'NOT'
'NOTNULL'
'NULL'
'OF'
'OFFSET'
'ON'
'OR'
'ORDER'
'OUTER'
'PLAN'
'PRAGMA'
'PRIMARY'
'QUERY'
'RAISE'
'RECURSIVE'
'REFERENCES'
'REGEXP'
'REINDEX'
'RELEASE'
'RENAME'
'REPLACE'
'RESTRICT'
'RETURNING'
'RIGHT'
'ROLLBACK'
'ROW'
'ROWS'
'SAVEPOINT'
'SELECT'
'SET'
'TABLE'
'TEMP'
'TEMPORARY'
'THEN'
'TO'
'TRANSACTION'
'TRIGGER'
'UNION'
'UNIQUE'
'UPDATE'
'USING'
'VACUUM'
'VALUES'
'VIEW'
'VIRTUAL'
'WHEN'
'WHERE'
'WITH'
'WITHOUT'
'FIRST_VALUE'
'OVER'
'PARTITION'
'RANGE'
'PRECEDING'
'UNBOUNDED'
'CURRENT'
'FOLLOWING'
'CUME_DIST'
'DENSE_RANK'
'LAG'
'LAST_VALUE'
'LEAD'
'NTH_VALUE'
'NTILE'
'PERCENT_RANK'
'RANK'
'ROW_NUMBER'
'GENERATED'
'ALWAYS'
'STORED'
'TRUE'
'FALSE'
'WINDOW'
'NULLS'
'FIRST'
'LAST'
'FILTER'
'GROUPS'
'EXCLUDE'
'TIES'
'OTHERS'
'DO'
'NOTHING'
null
null
null
null
null
null
null
null
null
token symbolic names:
null
SCOL
DOT
OPEN_PAR
CLOSE_PAR
COMMA
ASSIGN
STAR
PLUS
MINUS
TILDE
PIPE2
DIV
MOD
LT2
GT2
AMP
PIPE
LT
LT_EQ
GT
GT_EQ
EQ
NOT_EQ1
NOT_EQ2
ABORT_
ACTION_
ADD_
AFTER_
ALL_
ALTER_
ANALYZE_
AND_
AS_
ASC_
ATTACH_
AUTOINCREMENT_
BEFORE_
BEGIN_
BETWEEN_
BY_
CASCADE_
CASE_
CAST_
CHECK_
COLLATE_
COLUMN_
COMMIT_
CONFLICT_
CONSTRAINT_
CREATE_
CROSS_
CURRENT_DATE_
CURRENT_TIME_
CURRENT_TIMESTAMP_
DATABASE_
DEFAULT_
DEFERRABLE_
DEFERRED_
DELETE_
DESC_
DETACH_
DISTINCT_
DROP_
EACH_
ELSE_
END_
ESCAPE_
EXCEPT_
EXCLUSIVE_
EXISTS_
EXPLAIN_
FAIL_
FOR_
FOREIGN_
FROM_
FULL_
GLOB_
GROUP_
HAVING_
IF_
IGNORE_
IMMEDIATE_
IN_
INDEX_
INDEXED_
INITIALLY_
INNER_
INSERT_
INSTEAD_
INTERSECT_
INTO_
IS_
ISNULL_
JOIN_
KEY_
LEFT_
LIKE_
LIMIT_
MATCH_
NATURAL_
NO_
NOT_
NOTNULL_
NULL_
OF_
OFFSET_
ON_
OR_
ORDER_
OUTER_
PLAN_
PRAGMA_
PRIMARY_
QUERY_
RAISE_
RECURSIVE_
REFERENCES_
REGEXP_
REINDEX_
RELEASE_
RENAME_
REPLACE_
RESTRICT_
RETURNING_
RIGHT_
ROLLBACK_
ROW_
ROWS_
SAVEPOINT_
SELECT_
SET_
TABLE_
TEMP_
TEMPORARY_
THEN_
TO_
TRANSACTION_
TRIGGER_
UNION_
UNIQUE_
UPDATE_
USING_
VACUUM_
VALUES_
VIEW_
VIRTUAL_
WHEN_
WHERE_
WITH_
WITHOUT_
FIRST_VALUE_
OVER_
PARTITION_
RANGE_
PRECEDING_
UNBOUNDED_
CURRENT_
FOLLOWING_
CUME_DIST_
DENSE_RANK_
LAG_
LAST_VALUE_
LEAD_
NTH_VALUE_
NTILE_
PERCENT_RANK_
RANK_
ROW_NUMBER_
GENERATED_
ALWAYS_
STORED_
TRUE_
FALSE_
WINDOW_
NULLS_
FIRST_
LAST_
FILTER_
GROUPS_
EXCLUDE_
TIES_
OTHERS_
DO_
NOTHING_
IDENTIFIER
NUMERIC_LITERAL
BIND_PARAMETER
STRING_LITERAL
BLOB_LITERAL
SINGLE_LINE_COMMENT
MULTILINE_COMMENT
SPACES
UNEXPECTED_CHAR
rule names:
parse
sql_stmt_list
sql_stmt
alter_table_stmt
analyze_stmt
attach_stmt
begin_stmt
commit_stmt
rollback_stmt
savepoint_stmt
release_stmt
create_index_stmt
indexed_column
create_table_stmt
column_def
type_name
column_constraint
signed_number
table_constraint
foreign_key_clause
conflict_clause
create_trigger_stmt
create_view_stmt
create_virtual_table_stmt
with_clause
cte_table_name
recursive_cte
common_table_expression
delete_stmt
delete_stmt_limited
detach_stmt
drop_stmt
expr
raise_function
literal_value
value_row
values_clause
insert_stmt
returning_clause
upsert_clause
pragma_stmt
pragma_value
reindex_stmt
select_stmt
join_clause
select_core
factored_select_stmt
simple_select_stmt
compound_select_stmt
table_or_subquery
result_column
join_operator
join_constraint
compound_operator
update_stmt
column_name_list
update_stmt_limited
qualified_table_name
vacuum_stmt
filter_clause
window_defn
over_clause
frame_spec
frame_clause
simple_function_invocation
aggregate_function_invocation
window_function_invocation
common_table_stmt
order_by_stmt
limit_stmt
ordering_term
asc_desc
frame_left
frame_right
frame_single
window_function
offset
default_value
partition_by
order_by_expr
order_by_expr_asc_desc
expr_asc_desc
initial_select
recursive_select
unary_operator
error_message
module_argument
column_alias
keyword
name
function_name
schema_name
table_name
table_or_index_name
column_name
collation_name
foreign_table
index_name
trigger_name
view_name
module_name
pragma_name
savepoint_name
table_alias
transaction_name
window_name
alias
filename
base_window_name
simple_func
aggregate_func
table_function_name
any_name
atn:
[4, 1, 193, 2056, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 1, 0, 5, 0, 228, 8, 0, 10, 0, 12, 0, 231, 9, 0, 1, 0, 1, 0, 1, 1, 5, 1, 236, 8, 1, 10, 1, 12, 1, 239, 9, 1, 1, 1, 1, 1, 4, 1, 243, 8, 1, 11, 1, 12, 1, 244, 1, 1, 5, 1, 248, 8, 1, 10, 1, 12, 1, 251, 9, 1, 1, 1, 5, 1, 254, 8, 1, 10, 1, 12, 1, 257, 9, 1, 1, 2, 1, 2, 1, 2, 3, 2, 262, 8, 2, 3, 2, 264, 8, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 290, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 297, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 304, 8, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 310, 8, 3, 1, 3, 1, 3, 3, 3, 314, 8, 3, 1, 3, 1, 3, 1, 3, 3, 3, 319, 8, 3, 1, 3, 3, 3, 322, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 329, 8, 4, 1, 4, 3, 4, 332, 8, 4, 1, 5, 1, 5, 3, 5, 336, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 3, 6, 344, 8, 6, 1, 6, 1, 6, 3, 6, 348, 8, 6, 3, 6, 350, 8, 6, 1, 7, 1, 7, 3, 7, 354, 8, 7, 1, 8, 1, 8, 3, 8, 358, 8, 8, 1, 8, 1, 8, 3, 8, 362, 8, 8, 1, 8, 3, 8, 365, 8, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 3, 10, 372, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 3, 11, 378, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 384, 8, 11, 1, 11, 1, 11, 1, 11, 3, 11, 389, 8, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 5, 11, 398, 8, 11, 10, 11, 12, 11, 401, 9, 11, 1, 11, 1, 11, 1, 11, 3, 11, 406, 8, 11, 1, 12, 1, 12, 3, 12, 410, 8, 12, 1, 12, 1, 12, 3, 12, 414, 8, 12, 1, 12, 3, 12, 417, 8, 12, 1, 13, 1, 13, 3, 13, 421, 8, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 427, 8, 13, 1, 13, 1, 13, 1, 13, 3, 13, 432, 8, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 5, 13, 439, 8, 13, 10, 13, 12, 13, 442, 9, 13, 1, 13, 1, 13, 5, 13, 446, 8, 13, 10, 13, 12, 13, 449, 9, 13, 1, 13, 1, 13, 1, 13, 3, 13, 454, 8, 13, 1, 13, 1, 13, 3, 13, 458, 8, 13, 1, 14, 1, 14, 3, 14, 462, 8, 14, 1, 14, 5, 14, 465, 8, 14, 10, 14, 12, 14, 468, 9, 14, 1, 15, 4, 15, 471, 8, 15, 11, 15, 12, 15, 472, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 485, 8, 15, 1, 16, 1, 16, 3, 16, 489, 8, 16, 1, 16, 1, 16, 1, 16, 3, 16, 494, 8, 16, 1, 16, 3, 16, 497, 8, 16, 1, 16, 3, 16, 500, 8, 16, 1, 16, 3, 16, 503, 8, 16, 1, 16, 1, 16, 3, 16, 507, 8, 16, 1, 16, 3, 16, 510, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 524, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 531, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 538, 8, 16, 3, 16, 540, 8, 16, 1, 17, 3, 17, 543, 8, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 549, 8, 18, 1, 18, 1,