refactor: improve keywords definations (#100)
* feat: improve keywords definations and add prefix named KW_ * test: capitalize keywords in alter sql test cases * test: capitalize keywords in create sql test cases * feat: merge interval rule and timeIntervalExpression rule in flinksql grammar * test: put keywords in quotation marks around insert sql test cases * test: put keywords in quotation marks around select sql test cases * feat: improve uid rule * test: rename sum to _sum because it is a reserved keyword * docs: improve comments in flinkSqlLexer
This commit is contained in:
@ -9,320 +9,379 @@ LINE_COMMENT: (
|
||||
| '--' ('\r'? '\n' | EOF)
|
||||
) -> channel(HIDDEN);
|
||||
|
||||
// List of keywords that are not reserved.
|
||||
// Please keep the keyword in alphabetical order if new keyword is added.
|
||||
// Please add it to the nonReservedKeywords rule if new keyword is added.
|
||||
// Reference link https://github.com/apache/flink/blob/release-1.16/flink-table/flink-sql-parser/src/main/codegen/data/Parser.tdd
|
||||
|
||||
// Common Keywords
|
||||
KW_ADD: 'ADD';
|
||||
KW_ADMIN: 'ADMIN';
|
||||
KW_AFTER: 'AFTER';
|
||||
KW_ANALYZE: 'ANALYZE';
|
||||
KW_ASC: 'ASC';
|
||||
KW_BEFORE: 'BEFORE';
|
||||
KW_BYTES: 'BYTES';
|
||||
KW_CASCADE: 'CASCADE';
|
||||
KW_CATALOG: 'CATALOG';
|
||||
KW_CATALOGS: 'CATALOGS';
|
||||
KW_CENTURY: 'CENTURY';
|
||||
KW_CHAIN: 'CHAIN';
|
||||
KW_CHANGELOG_MODE: 'CHANGELOG_MODE';
|
||||
KW_CHARACTERS: 'CHARACTERS';
|
||||
KW_COMMENT: 'COMMENT';
|
||||
KW_COMPACT: 'COMPACT';
|
||||
KW_COLUMNS: 'COLUMNS';
|
||||
KW_CONSTRAINTS: 'CONSTRAINTS';
|
||||
KW_CONSTRUCTOR: 'CONSTRUCTOR';
|
||||
KW_CUMULATE: 'CUMULATE';
|
||||
KW_DATA: 'DATA';
|
||||
KW_DATABASE: 'DATABASE';
|
||||
KW_DATABASES: 'DATABASES';
|
||||
KW_DAYS: 'DAYS';
|
||||
KW_DECADE: 'DECADE';
|
||||
KW_DEFINED: 'DEFINED';
|
||||
KW_DESC: 'DESC';
|
||||
KW_DESCRIPTOR: 'DESCRIPTOR';
|
||||
KW_DIV: 'DIV';
|
||||
KW_ENCODING: 'ENCODING';
|
||||
KW_ENFORCED: 'ENFORCED';
|
||||
KW_ENGINE: 'ENGINE';
|
||||
KW_ERROR: 'ERROR';
|
||||
KW_ESTIMATED_COST: 'ESTIMATED_COST';
|
||||
KW_EXCEPTION: 'EXCEPTION';
|
||||
KW_EXCLUDE: 'EXCLUDE';
|
||||
KW_EXCLUDING: 'EXCLUDING';
|
||||
KW_EXTENDED: 'EXTENDED';
|
||||
KW_FILE: 'FILE';
|
||||
KW_FINAL: 'FINAL';
|
||||
KW_FIRST: 'FIRST';
|
||||
KW_FOLLOWING: 'FOLLOWING';
|
||||
KW_FORMAT: 'FORMAT';
|
||||
KW_FORTRAN: 'FORTRAN';
|
||||
KW_FOUND: 'FOUND';
|
||||
KW_FRAC_SECOND: 'FRAC_SECOND';
|
||||
KW_FUNCTIONS: 'FUNCTIONS';
|
||||
KW_GENERAL: 'GENERAL';
|
||||
KW_GENERATED: 'GENERATED';
|
||||
KW_GO: 'GO';
|
||||
KW_GOTO: 'GOTO';
|
||||
KW_GRANTED: 'GRANTED';
|
||||
KW_HOP: 'HOP';
|
||||
KW_HOURS: 'HOURS';
|
||||
KW_IF: 'IF';
|
||||
KW_IGNORE: 'IGNORE';
|
||||
KW_INCREMENT: 'INCREMENT';
|
||||
KW_INPUT: 'INPUT';
|
||||
KW_INVOKER: 'INVOKER';
|
||||
KW_JAR: 'JAR';
|
||||
KW_JARS: 'JARS';
|
||||
KW_JAVA: 'JAVA';
|
||||
KW_JSON: 'JSON';
|
||||
KW_JSON_EXECUTION_PLAN: 'JSON_EXECUTION_PLAN';
|
||||
KW_KEY: 'KEY';
|
||||
KW_KEY_MEMBER: 'KEY_MEMBER';
|
||||
KW_KEY_TYPE: 'KEY_TYPE';
|
||||
KW_LABEL: 'LABEL';
|
||||
KW_LAST: 'LAST';
|
||||
KW_LENGTH: 'LENGTH';
|
||||
KW_LEVEL: 'LEVEL';
|
||||
KW_LOAD: 'LOAD';
|
||||
KW_MAP: 'MAP';
|
||||
KW_MICROSECOND: 'MICROSECOND';
|
||||
KW_MILLENNIUM: 'MILLENNIUM';
|
||||
KW_MILLISECOND: 'MILLISECOND';
|
||||
KW_MINUTES: 'MINUTES';
|
||||
KW_MINVALUE: 'MINVALUE';
|
||||
KW_MODIFY: 'MODIFY';
|
||||
KW_MODULES: 'MODULES';
|
||||
KW_MONTHS: 'MONTHS';
|
||||
KW_NANOSECOND: 'NANOSECOND';
|
||||
KW_NULLS: 'NULLS';
|
||||
KW_NUMBER: 'NUMBER';
|
||||
KW_OPTION: 'OPTION';
|
||||
KW_OPTIONS: 'OPTIONS';
|
||||
KW_ORDERING: 'ORDERING';
|
||||
KW_OUTPUT: 'OUTPUT';
|
||||
KW_OVERWRITE: 'OVERWRITE';
|
||||
KW_OVERWRITING: 'OVERWRITING';
|
||||
KW_PARTITIONED: 'PARTITIONED';
|
||||
KW_PARTITIONS: 'PARTITIONS';
|
||||
KW_PASSING: 'PASSING';
|
||||
KW_PAST: 'PAST';
|
||||
KW_PATH: 'PATH';
|
||||
KW_PLACING: 'PLACING';
|
||||
KW_PLAN: 'PLAN';
|
||||
KW_PRECEDING: 'PRECEDING';
|
||||
KW_PRESERVE: 'PRESERVE';
|
||||
KW_PRIOR: 'PRIOR';
|
||||
KW_PRIVILEGES: 'PRIVILEGES';
|
||||
KW_PUBLIC: 'PUBLIC';
|
||||
KW_PYTHON: 'PYTHON';
|
||||
KW_PYTHON_FILES: 'PYTHON_FILES';
|
||||
KW_PYTHON_REQUIREMENTS: 'PYTHON_REQUIREMENTS';
|
||||
KW_PYTHON_DEPENDENCIES: 'PYTHON_DEPENDENCIES';
|
||||
KW_PYTHON_JAR: 'PYTHON_JAR';
|
||||
KW_PYTHON_ARCHIVES: 'PYTHON_ARCHIVES';
|
||||
KW_PYTHON_PARAMETER: 'PYTHON_PARAMETER';
|
||||
KW_QUARTER: 'QUARTER';
|
||||
KW_RAW: 'RAW';
|
||||
KW_READ: 'READ';
|
||||
KW_RELATIVE: 'RELATIVE';
|
||||
KW_REMOVE: 'REMOVE';
|
||||
KW_RENAME: 'RENAME';
|
||||
KW_REPLACE: 'REPLACE';
|
||||
KW_RESPECT: 'RESPECT';
|
||||
KW_RESTART: 'RESTART';
|
||||
KW_RESTRICT: 'RESTRICT';
|
||||
KW_ROLE: 'ROLE';
|
||||
KW_ROW_COUNT: 'ROW_COUNT';
|
||||
KW_SCALA: 'SCALA';
|
||||
KW_SCALAR: 'SCALAR';
|
||||
KW_SCALE: 'SCALE';
|
||||
KW_SCHEMA: 'SCHEMA';
|
||||
KW_SECONDS: 'SECONDS';
|
||||
KW_SECTION: 'SECTION';
|
||||
KW_SECURITY: 'SECURITY';
|
||||
KW_SELF: 'SELF';
|
||||
KW_SERVER: 'SERVER';
|
||||
KW_SERVER_NAME: 'SERVER_NAME';
|
||||
KW_SESSION: 'SESSION';
|
||||
KW_SETS: 'SETS';
|
||||
KW_SIMPLE: 'SIMPLE';
|
||||
KW_SIZE: 'SIZE';
|
||||
KW_SLIDE: 'SLIDE';
|
||||
KW_SOURCE: 'SOURCE';
|
||||
KW_SPACE: 'SPACE';
|
||||
KW_STATE: 'STATE';
|
||||
KW_STATEMENT: 'STATEMENT';
|
||||
KW_STEP: 'STEP';
|
||||
KW_STRING: 'STRING';
|
||||
KW_STRUCTURE: 'STRUCTURE';
|
||||
KW_STYLE: 'STYLE';
|
||||
KW_TABLES: 'TABLES';
|
||||
KW_TEMPORARY: 'TEMPORARY';
|
||||
KW_TIMECOL: 'TIMECOL';
|
||||
KW_TIMESTAMP_LTZ: 'TIMESTAMP_LTZ';
|
||||
KW_TIMESTAMPADD: 'TIMESTAMPADD';
|
||||
KW_TIMESTAMPDIFF: 'TIMESTAMPDIFF';
|
||||
KW_TRANSFORM: 'TRANSFORM';
|
||||
KW_TUMBLE: 'TUMBLE';
|
||||
KW_TYPE: 'TYPE';
|
||||
KW_UNDER: 'UNDER';
|
||||
KW_UNLOAD: 'UNLOAD';
|
||||
KW_USAGE: 'USAGE';
|
||||
KW_USE: 'USE';
|
||||
KW_UTF16: 'UTF16';
|
||||
KW_UTF32: 'UTF32';
|
||||
KW_UTF8: 'UTF8';
|
||||
KW_VERSION: 'VERSION';
|
||||
KW_VIEW: 'VIEW';
|
||||
KW_VIEWS: 'VIEWS';
|
||||
KW_VIRTUAL: 'VIRTUAL';
|
||||
KW_WATERMARK: 'WATERMARK';
|
||||
KW_WATERMARKS: 'WATERMARKS';
|
||||
KW_WEEK: 'WEEK';
|
||||
KW_WORK: 'WORK';
|
||||
KW_WRAPPER: 'WRAPPER';
|
||||
KW_YEARS: 'YEARS';
|
||||
KW_ZONE: 'ZONE';
|
||||
|
||||
SELECT: 'SELECT';
|
||||
FROM: 'FROM';
|
||||
ADD: 'ADD';
|
||||
AS: 'AS';
|
||||
ALL: 'ALL';
|
||||
ANY: 'ANY';
|
||||
DISTINCT: 'DISTINCT';
|
||||
WHERE: 'WHERE';
|
||||
GROUP: 'GROUP';
|
||||
BY: 'BY';
|
||||
GROUPING: 'GROUPING';
|
||||
SETS: 'SETS';
|
||||
CUBE: 'CUBE';
|
||||
ROLLUP: 'ROLLUP';
|
||||
ORDER: 'ORDER';
|
||||
HAVING: 'HAVING';
|
||||
LIMIT: 'LIMIT';
|
||||
AT: 'AT';
|
||||
OR: 'OR';
|
||||
AND: 'AND';
|
||||
IN: 'IN';
|
||||
NOT: 'NOT';
|
||||
NO: 'NO';
|
||||
EXISTS: 'EXISTS';
|
||||
BETWEEN: 'BETWEEN';
|
||||
LIKE: 'LIKE';
|
||||
RLIKE: 'RLIKE';
|
||||
IS: 'IS';
|
||||
TRUE: 'TRUE';
|
||||
FALSE: 'FALSE';
|
||||
NULLS: 'NULLS';
|
||||
ASC: 'ASC';
|
||||
DESC: 'DESC';
|
||||
FOR: 'FOR';
|
||||
INTERVAL: 'INTERVAL';
|
||||
CASE: 'CASE';
|
||||
WHEN: 'WHEN';
|
||||
THEN: 'THEN';
|
||||
ELSE: 'ELSE';
|
||||
BEGIN: 'BEGIN';
|
||||
END: 'END';
|
||||
JOIN: 'JOIN';
|
||||
CROSS: 'CROSS';
|
||||
OUTER: 'OUTER';
|
||||
INNER: 'INNER';
|
||||
LEFT: 'LEFT';
|
||||
SEMI: 'SEMI';
|
||||
RIGHT: 'RIGHT';
|
||||
FULL: 'FULL';
|
||||
USER: 'USER';
|
||||
NATURAL: 'NATURAL';
|
||||
ON: 'ON';
|
||||
PIVOT: 'PIVOT';
|
||||
LATERAL: 'LATERAL';
|
||||
WINDOW: 'WINDOW';
|
||||
OVER: 'OVER';
|
||||
PARTITION: 'PARTITION';
|
||||
RANGE: 'RANGE';
|
||||
ROWS: 'ROWS';
|
||||
UNBOUNDED: 'UNBOUNDED';
|
||||
PRECEDING: 'PRECEDING';
|
||||
FOLLOWING: 'FOLLOWING';
|
||||
CURRENT: 'CURRENT';
|
||||
FIRST: 'FIRST';
|
||||
AFTER: 'AFTER';
|
||||
LAST: 'LAST';
|
||||
WITH: 'WITH';
|
||||
WITHOUT: 'WITHOUT';
|
||||
VALUES: 'VALUES';
|
||||
CREATE: 'CREATE';
|
||||
TABLE: 'TABLE';
|
||||
DIRECTORY: 'DIRECTORY';
|
||||
VIEW: 'VIEW';
|
||||
REPLACE: 'REPLACE';
|
||||
EXECUTE: 'EXECUTE';
|
||||
STATEMENT: 'STATEMENT';
|
||||
INSERT: 'INSERT';
|
||||
DELETE: 'DELETE';
|
||||
REMOVE: 'REMOVE';
|
||||
INTO: 'INTO';
|
||||
DESCRIBE: 'DESCRIBE';
|
||||
EXPLAIN: 'EXPLAIN';
|
||||
PLAN: 'PLAN';
|
||||
CHANGELOG_MODE: 'CHANGELOG_MODE';
|
||||
JSON_EXECUTION_PLAN: 'JSON_EXECUTION_PLAN';
|
||||
ESTIMATED_COST: 'ESTIMATED_COST';
|
||||
FORMAT: 'FORMAT';
|
||||
LOGICAL: 'LOGICAL';
|
||||
CODEGEN: 'CODEGEN';
|
||||
COST: 'COST';
|
||||
CAST: 'CAST';
|
||||
SHOW: 'SHOW';
|
||||
TABLES: 'TABLES';
|
||||
COLUMNS: 'COLUMNS';
|
||||
COLUMN: 'COLUMN';
|
||||
USE: 'USE';
|
||||
MODULE: 'MODULE';
|
||||
MODULES: 'MODULES';
|
||||
PARTITIONS: 'PARTITIONS';
|
||||
FUNCTIONS: 'FUNCTIONS';
|
||||
DROP: 'DROP';
|
||||
UNION: 'UNION';
|
||||
EXCEPT: 'EXCEPT';
|
||||
SETMINUS: 'SETMINUS';
|
||||
INTERSECT: 'INTERSECT';
|
||||
TO: 'TO';
|
||||
TABLESAMPLE: 'TABLESAMPLE';
|
||||
STRATIFY: 'STRATIFY';
|
||||
ALTER: 'ALTER';
|
||||
RENAME: 'RENAME';
|
||||
STRUCT: 'STRUCT';
|
||||
COMMENT: 'COMMENT';
|
||||
SET: 'SET';
|
||||
RESET: 'RESET';
|
||||
DATA: 'DATA';
|
||||
START: 'START';
|
||||
TRANSACTION: 'TRANSACTION';
|
||||
COMMIT: 'COMMIT';
|
||||
ROLLBACK: 'ROLLBACK';
|
||||
MACRO: 'MACRO';
|
||||
IGNORE: 'IGNORE';
|
||||
BOTH: 'BOTH';
|
||||
LEADING: 'LEADING';
|
||||
TRAILING: 'TRAILING';
|
||||
IF: 'IF';
|
||||
POSITION: 'POSITION';
|
||||
EXTRACT: 'EXTRACT';
|
||||
MINUS: 'MINUS';
|
||||
DIV: 'DIV';
|
||||
PERCENTLIT: 'PERCENTLIT';
|
||||
BUCKET: 'BUCKET';
|
||||
OUT: 'OUT';
|
||||
OF: 'OF';
|
||||
SORT: 'SORT';
|
||||
CLUSTER: 'CLUSTER';
|
||||
DISTRIBUTE: 'DISTRIBUTE';
|
||||
OVERWRITE: 'OVERWRITE';
|
||||
TRANSFORM: 'TRANSFORM';
|
||||
REDUCE: 'REDUCE';
|
||||
USING: 'USING';
|
||||
SERDE: 'SERDE';
|
||||
SERDEPROPERTIES: 'SERDEPROPERTIES';
|
||||
RECORDREADER: 'RECORDREADER';
|
||||
RECORDWRITER: 'RECORDWRITER';
|
||||
DELIMITED: 'DELIMITED';
|
||||
FIELDS: 'FIELDS';
|
||||
TERMINATED: 'TERMINATED';
|
||||
COLLECTION: 'COLLECTION';
|
||||
ITEMS: 'ITEMS';
|
||||
KEYS: 'KEYS';
|
||||
ESCAPED: 'ESCAPED';
|
||||
LINES: 'LINES';
|
||||
SEPARATED: 'SEPARATED';
|
||||
FUNCTION: 'FUNCTION';
|
||||
EXTENDED: 'EXTENDED';
|
||||
REFRESH: 'REFRESH';
|
||||
CLEAR: 'CLEAR';
|
||||
CACHE: 'CACHE';
|
||||
UNCACHE: 'UNCACHE';
|
||||
LAZY: 'LAZY';
|
||||
FORMATTED: 'FORMATTED';
|
||||
GLOBAL: 'GLOBAL';
|
||||
TEMPORARY: 'TEMPORARY';
|
||||
OPTIONS: 'OPTIONS';
|
||||
UNSET: 'UNSET';
|
||||
TBLPROPERTIES: 'TBLPROPERTIES';
|
||||
DBPROPERTIES: 'DBPROPERTIES';
|
||||
BUCKETS: 'BUCKETS';
|
||||
SKEWED: 'SKEWED';
|
||||
STORED: 'STORED';
|
||||
DIRECTORIES: 'DIRECTORIES';
|
||||
LOCATION: 'LOCATION';
|
||||
EXCHANGE: 'EXCHANGE';
|
||||
ARCHIVE: 'ARCHIVE';
|
||||
UNARCHIVE: 'UNARCHIVE';
|
||||
FILEFORMAT: 'FILEFORMAT';
|
||||
TOUCH: 'TOUCH';
|
||||
COMPACT: 'COMPACT';
|
||||
CONCATENATE: 'CONCATENATE';
|
||||
CHANGE: 'CHANGE';
|
||||
CASCADE: 'CASCADE';
|
||||
CONSTRAINT: 'CONSTRAINT';
|
||||
RESTRICT: 'RESTRICT';
|
||||
CLUSTERED: 'CLUSTERED';
|
||||
SORTED: 'SORTED';
|
||||
PURGE: 'PURGE';
|
||||
INPUTFORMAT: 'INPUTFORMAT';
|
||||
OUTPUTFORMAT: 'OUTPUTFORMAT';
|
||||
DATABASE: 'DATABASE';
|
||||
DATABASES: 'DATABASES';
|
||||
DFS: 'DFS';
|
||||
TRUNCATE: 'TRUNCATE';
|
||||
ANALYZE: 'ANALYZE';
|
||||
COMPUTE: 'COMPUTE';
|
||||
LIST: 'LIST';
|
||||
STATISTICS: 'STATISTICS';
|
||||
PARTITIONED: 'PARTITIONED';
|
||||
EXTERNAL: 'EXTERNAL';
|
||||
DEFINED: 'DEFINED';
|
||||
REVOKE: 'REVOKE';
|
||||
GRANT: 'GRANT';
|
||||
LOCK: 'LOCK';
|
||||
UNLOCK: 'UNLOCK';
|
||||
MSCK: 'MSCK';
|
||||
REPAIR: 'REPAIR';
|
||||
RECOVER: 'RECOVER';
|
||||
EXPORT: 'EXPORT';
|
||||
IMPORT: 'IMPORT';
|
||||
LOAD: 'LOAD';
|
||||
UNLOAD: 'UNLOAD';
|
||||
ROLE: 'ROLE';
|
||||
ROLES: 'ROLES';
|
||||
COMPACTIONS: 'COMPACTIONS';
|
||||
PRINCIPALS: 'PRINCIPALS';
|
||||
TRANSACTIONS: 'TRANSACTIONS';
|
||||
INDEX: 'INDEX';
|
||||
INDEXES: 'INDEXES';
|
||||
LOCKS: 'LOCKS';
|
||||
OPTION: 'OPTION';
|
||||
ANTI: 'ANTI';
|
||||
LOCAL: 'LOCAL';
|
||||
INPATH: 'INPATH';
|
||||
WATERMARK: 'WATERMARK';
|
||||
UNNEST: 'UNNEST';
|
||||
MATCH: 'MATCH';
|
||||
NEXT: 'NEXT';
|
||||
WITHIN: 'WITHIN';
|
||||
WS: 'WS';
|
||||
SYSTEM: 'SYSTEM';
|
||||
INCLUDING: 'INCLUDING';
|
||||
EXCLUDING: 'EXCLUDING';
|
||||
OVERWRITING: 'OVERWRITING';
|
||||
CONSTRAINTS: 'CONSTRAINTS';
|
||||
GENERATED: 'GENERATED';
|
||||
WATERMARKS: 'WATERMARKS';
|
||||
CATALOG: 'CATALOG';
|
||||
LANGUAGE: 'LANGUAGE';
|
||||
JAVA: 'JAVA';
|
||||
SCALA: 'SCALA';
|
||||
PYTHON: 'PYTHON';
|
||||
JAR: 'JAR';
|
||||
FILE: 'FILE';
|
||||
PYTHON_FILES: 'PYTHON_FILES';
|
||||
PYTHON_REQUIREMENTS: 'PYTHON_REQUIREMENTS';
|
||||
PYTHON_DEPENDENCIES: 'PYTHON_DEPENDENCIES';
|
||||
PYTHON_JAR: 'PYTHON_JAR';
|
||||
PYTHON_ARCHIVES: 'PYTHON_ARCHIVES';
|
||||
PYTHON_PARAMETER: 'PYTHON_PARAMETER';
|
||||
ENGINE: 'ENGINE';
|
||||
CATALOGS: 'CATALOGS';
|
||||
VIEWS: 'VIEWS';
|
||||
JARS: 'JARS';
|
||||
PRIMARY: 'PRIMARY';
|
||||
UNIQUE: 'UNIQUE';
|
||||
KEY: 'KEY';
|
||||
PERIOD: 'PERIOD';
|
||||
SYSTEM_TIME: 'SYSTEM_TIME';
|
||||
ENFORCED: 'ENFORCED';
|
||||
METADATA: 'METADATA';
|
||||
VIRTUAL: 'VIRTUAL';
|
||||
ZONE: 'ZONE';
|
||||
TUMBLE: 'TUMBLE';
|
||||
HOP: 'HOP';
|
||||
CUMULATE: 'CUMULATE';
|
||||
DESCRIPTOR: 'DESCRIPTOR';
|
||||
TIMECOL: 'TIMECOL';
|
||||
SIZE: 'SIZE';
|
||||
OFFSET: 'OFFSET';
|
||||
STEP: 'STEP';
|
||||
SLIDE: 'SLIDE';
|
||||
SESSION: 'SESSION';
|
||||
MATCH_RECOGNIZE: 'MATCH_RECOGNIZE';
|
||||
MEASURES: 'MEASURES';
|
||||
PATTERN: 'PATTERN';
|
||||
ONE: 'ONE';
|
||||
PER: 'PER';
|
||||
KW_SKIP: 'SKIP';
|
||||
PAST: 'PAST';
|
||||
DEFINE: 'DEFINE';
|
||||
|
||||
// DATA TYPE Keywords
|
||||
|
||||
STRING: 'STRING';
|
||||
ARRAY: 'ARRAY';
|
||||
MAP: 'MAP';
|
||||
CHAR: 'CHAR';
|
||||
VARCHAR: 'VARCHAR';
|
||||
BINARY: 'BINARY';
|
||||
VARBINARY: 'VARBINARY';
|
||||
BYTES: 'BYTES';
|
||||
DECIMAL: 'DECIMAL';
|
||||
DEC: 'DEC';
|
||||
NUMERIC: 'NUMERIC';
|
||||
TINYINT: 'TINYINT';
|
||||
SMALLINT: 'SMALLINT';
|
||||
INT: 'INT';
|
||||
INTEGER: 'INTEGER';
|
||||
BIGINT: 'BIGINT';
|
||||
FLOAT: 'FLOAT';
|
||||
DOUBLE: 'DOUBLE';
|
||||
DATE: 'DATE';
|
||||
TIME: 'TIME';
|
||||
TIMESTAMP: 'TIMESTAMP';
|
||||
TIMESTAMP_LTZ: 'TIMESTAMP_LTZ';
|
||||
MULTISET: 'MULTISET';
|
||||
BOOLEAN: 'BOOLEAN';
|
||||
RAW: 'RAW';
|
||||
ROW: 'ROW';
|
||||
NULL: 'NULL';
|
||||
DATETIME: 'DATETIME'; // 数栈自定义类型
|
||||
// Reserved Keywords
|
||||
// Please keep the keyword in alphabetical order if new keyword is added.
|
||||
// Please add it to the reservedKeywords rule if new keyword is added.
|
||||
// Reference link https://calcite.apache.org/docs/reference.html
|
||||
|
||||
KW_ABS: 'ABS';
|
||||
KW_ALL: 'ALL';
|
||||
ALLOW: 'ALLOW';
|
||||
KW_ALTER : 'ALTER';
|
||||
KW_AND: 'AND';
|
||||
KW_ANY: 'ANY';
|
||||
KW_ARE: 'ARE';
|
||||
KW_ARRAY: 'ARRAY';
|
||||
KW_AS: 'AS';
|
||||
KW_AT: 'AT';
|
||||
KW_AVG: 'AVG';
|
||||
KW_BEGIN: 'BEGIN';
|
||||
KW_BETWEEN: 'BETWEEN';
|
||||
KW_BIGINT: 'BIGINT';
|
||||
KW_BINARY: 'BINARY';
|
||||
KW_BIT: 'BIT';
|
||||
KW_BLOB: 'BLOB';
|
||||
KW_BOOLEAN: 'BOOLEAN';
|
||||
KW_BOTH: 'BOTH';
|
||||
KW_BY: 'BY';
|
||||
KW_CALL: 'CALL';
|
||||
KW_CALLED: 'CALLED';
|
||||
KW_CASCADED: 'CASCADED';
|
||||
KW_CASE: 'CASE';
|
||||
KW_CAST: 'CAST';
|
||||
KW_CEIL: 'CEIL';
|
||||
KW_CHAR: 'CHAR';
|
||||
KW_CHARACTER: 'CHARACTER';
|
||||
KW_CHECK: 'CHECK';
|
||||
KW_CLOB: 'CLOB';
|
||||
KW_CLOSE: 'CLOSE';
|
||||
KW_COALESCE: 'COALESCE';
|
||||
KW_COLLATE: 'COLLATE';
|
||||
KW_COLLECT: 'COLLECT';
|
||||
KW_COLUMN: 'COLUMN';
|
||||
KW_COMMIT: 'COMMIT';
|
||||
KW_CONNECT: 'CONNECT';
|
||||
KW_CONSTRAINT: 'CONSTRAINT';
|
||||
KW_CONTAINS: 'CONTAINS';
|
||||
KW_CONVERT: 'CONVERT';
|
||||
KW_COUNT: 'COUNT';
|
||||
KW_CREATE: 'CREATE';
|
||||
KW_CROSS: 'CROSS';
|
||||
KW_CUBE: 'CUBE';
|
||||
KW_CURRENT: 'CURRENT';
|
||||
KW_CURSOR: 'CURSOR';
|
||||
KW_CYCLE: 'CYCLE';
|
||||
KW_DATE: 'DATE';
|
||||
KW_DATETIME: 'DATETIME';
|
||||
KW_DAY: 'DAY';
|
||||
KW_DEC: 'DEC';
|
||||
KW_DECIMAL: 'DECIMAL';
|
||||
KW_DECLARE: 'DECLARE';
|
||||
KW_DEFAULT: 'DEFAULT';
|
||||
KW_DEFINE: 'DEFINE';
|
||||
KW_DELETE: 'DELETE';
|
||||
KW_DESCRIBE: 'DESCRIBE';
|
||||
KW_DISTINCT: 'DISTINCT';
|
||||
KW_DOUBLE: 'DOUBLE';
|
||||
KW_DROP: 'DROP';
|
||||
KW_EACH: 'EACH';
|
||||
KW_ELSE: 'ELSE';
|
||||
KW_END: 'END';
|
||||
KW_EQUALS: 'EQUALS';
|
||||
KW_EXCEPT: 'EXCEPT';
|
||||
KW_EXECUTE: 'EXECUTE';
|
||||
KW_EXISTS: 'EXISTS';
|
||||
KW_EXPLAIN: 'EXPLAIN';
|
||||
KW_EXTERNAL: 'EXTERNAL';
|
||||
KW_EXTRACT: 'EXTRACT';
|
||||
KW_FALSE: 'FALSE';
|
||||
KW_FLOAT: 'FLOAT';
|
||||
KW_FOR: 'FOR';
|
||||
KW_FROM: 'FROM';
|
||||
KW_FULL: 'FULL';
|
||||
KW_FUNCTION: 'FUNCTION';
|
||||
KW_GLOBAL: 'GLOBAL';
|
||||
KW_GRANT: 'GRANT';
|
||||
KW_GROUP: 'GROUP';
|
||||
KW_GROUPING: 'GROUPING';
|
||||
KW_GROUPS: 'GROUPS';
|
||||
KW_HAVING: 'HAVING';
|
||||
KW_HOUR: 'HOUR';
|
||||
KW_IMPORT: 'IMPORT';
|
||||
KW_IN: 'IN';
|
||||
KW_INCLUDING: 'INCLUDING';
|
||||
KW_INNER: 'INNER';
|
||||
KW_INOUT: 'INOUT';
|
||||
KW_INSERT: 'INSERT';
|
||||
KW_INT: 'INT';
|
||||
KW_INTEGER: 'INTEGER';
|
||||
KW_INTERSECT: 'INTERSECT';
|
||||
KW_INTERVAL: 'INTERVAL';
|
||||
KW_INTO: 'INTO';
|
||||
KW_IS: 'IS';
|
||||
KW_JOIN: 'JOIN';
|
||||
KW_LAG: 'LAG';
|
||||
KW_LANGUAGE: 'LANGUAGE';
|
||||
KW_LATERAL: 'LATERAL';
|
||||
KW_LEADING: 'LEADING';
|
||||
KW_LEFT: 'LEFT';
|
||||
KW_LIKE: 'LIKE';
|
||||
KW_LIMIT: 'LIMIT';
|
||||
KW_LOCAL: 'LOCAL';
|
||||
KW_MATCH: 'MATCH';
|
||||
KW_MATCH_RECOGNIZE: 'MATCH_RECOGNIZE';
|
||||
KW_MEASURES: 'MEASURES';
|
||||
KW_MERGE: 'MERGE';
|
||||
KW_METADATA: 'METADATA';
|
||||
KW_MINUS: 'MINUS';
|
||||
KW_MINUTE: 'MINUTE';
|
||||
KW_MODIFIES: 'MODIFIES';
|
||||
KW_MODULE: 'MODULE';
|
||||
KW_MONTH: 'MONTH';
|
||||
KW_MULTISET: 'MULTISET';
|
||||
KW_NATURAL: 'NATURAL';
|
||||
KW_NEXT: 'NEXT';
|
||||
KW_NO: 'NO';
|
||||
KW_NONE: 'NONE';
|
||||
KW_NOT: 'NOT';
|
||||
KW_NULL: 'NULL';
|
||||
KW_NUMERIC: 'NUMERIC';
|
||||
KW_OF: 'OF';
|
||||
KW_OFFSET: 'OFFSET';
|
||||
KW_ON: 'ON';
|
||||
KW_ONE: 'ONE';
|
||||
KW_OR: 'OR';
|
||||
KW_ORDER: 'ORDER';
|
||||
KW_OUT: 'OUT';
|
||||
KW_OUTER: 'OUTER';
|
||||
KW_OVER: 'OVER';
|
||||
KW_OVERLAY: 'OVERLAY';
|
||||
KW_PARTITION: 'PARTITION';
|
||||
KW_PATTERN: 'PATTERN';
|
||||
KW_PER: 'PER';
|
||||
KW_PERCENT: 'PERCENT';
|
||||
KW_PERIOD: 'PERIOD';
|
||||
KW_POSITION: 'POSITION';
|
||||
KW_PRIMARY: 'PRIMARY';
|
||||
KW_RANGE: 'RANGE';
|
||||
KW_RANK: 'RANK';
|
||||
KW_RESET: 'RESET';
|
||||
KW_REVOKE: 'REVOKE';
|
||||
KW_RIGHT: 'RIGHT';
|
||||
KW_RLIKE: 'RLIKE';
|
||||
KW_ROLLBACK: 'ROLLBACK';
|
||||
KW_ROLLUP: 'ROLLUP';
|
||||
KW_ROW: 'ROW';
|
||||
KW_ROWS: 'ROWS';
|
||||
KW_SECOND: 'SECOND';
|
||||
KW_SELECT: 'SELECT';
|
||||
KW_SET: 'SET';
|
||||
KW_SHOW: 'SHOW';
|
||||
KW_SKIP: 'SKIP';
|
||||
KW_SMALLINT: 'SMALLINT';
|
||||
KW_START: 'START';
|
||||
KW_STATIC: 'STATIC';
|
||||
KW_SUBSTRING: 'SUBSTRING';
|
||||
KW_SUM: 'SUM';
|
||||
KW_SYSTEM: 'SYSTEM';
|
||||
KW_SYSTEM_TIME: 'SYSTEM_TIME';
|
||||
KW_SYSTEM_USER: 'SYSTEM_USER';
|
||||
KW_TABLE: 'TABLE';
|
||||
KW_TABLESAMPLE: 'TABLESAMPLE';
|
||||
KW_THEN: 'THEN';
|
||||
KW_TIME: 'TIME';
|
||||
KW_TIMESTAMP: 'TIMESTAMP';
|
||||
KW_TINYINT: 'TINYINT';
|
||||
KW_TO: 'TO';
|
||||
KW_TRUE: 'TRUE';
|
||||
KW_TRUNCATE: 'TRUNCATE';
|
||||
KW_UNION: 'UNION';
|
||||
KW_UNIQUE: 'UNIQUE';
|
||||
KW_UNKNOWN: 'UNKNOWN';
|
||||
KW_UNNEST: 'UNNEST';
|
||||
KW_UPPER: 'UPPER';
|
||||
KW_UPSERT: 'UPSERT';
|
||||
KW_USER: 'USER';
|
||||
KW_USING: 'USING';
|
||||
KW_VALUE: 'VALUE';
|
||||
KW_VALUES: 'VALUES';
|
||||
KW_VARBINARY: 'VARBINARY';
|
||||
KW_VARCHAR: 'VARCHAR';
|
||||
KW_WHEN: 'WHEN';
|
||||
KW_WHERE: 'WHERE';
|
||||
KW_WINDOW: 'WINDOW';
|
||||
KW_WITH: 'WITH';
|
||||
KW_WITHIN: 'WITHIN';
|
||||
KW_WITHOUT: 'WITHOUT';
|
||||
KW_YEAR: 'YEAR';
|
||||
|
||||
|
||||
// Operators. Comparation
|
||||
@ -366,7 +425,7 @@ DOUBLE_VERTICAL_SIGN: '||';
|
||||
DOUBLE_HYPNEN_SIGN: '--';
|
||||
SLASH_SIGN: '/';
|
||||
QUESTION_MARK_SIGN: '?';
|
||||
DOT_ID: '.' ID_LITERAL_FRAG;
|
||||
DOUBLE_RIGHT_ARROW: '=>';
|
||||
STRING_LITERAL: DQUOTA_STRING | SQUOTA_STRING | BQUOTA_STRING;
|
||||
DIG_LITERAL: DEC_DIGIT+;
|
||||
REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+
|
||||
@ -376,7 +435,6 @@ REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+
|
||||
BIT_STRING: BIT_STRING_L;
|
||||
ID_LITERAL: ID_LITERAL_FRAG;
|
||||
FILE_PATH: FILE_PATH_STRING;
|
||||
DOUBLE_ARROW: '=>';
|
||||
|
||||
fragment FILE_PATH_STRING: ([/\\] (~([/\\ ]))*)+;
|
||||
fragment JAR_FILE_PARTTARN: '`' ( '\\'. | '``' | ~('`'|'\\'))* '`';
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user