You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1365 lines
62 KiB
1365 lines
62 KiB
1 year ago
|
/*
|
||
|
MySQL (Positive Technologies) grammar
|
||
|
The MIT License (MIT).
|
||
|
Copyright (c) 2015-2017, Ivan Kochurkin (kvanttt@gmail.com), Positive Technologies.
|
||
|
Copyright (c) 2017, Ivan Khudyashev (IHudyashov@ptsecurity.com)
|
||
|
|
||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||
|
of this software and associated documentation files (the "Software"), to deal
|
||
|
in the Software without restriction, including without limitation the rights
|
||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||
|
copies of the Software, and to permit persons to whom the Software is
|
||
|
furnished to do so, subject to the following conditions:
|
||
|
|
||
|
The above copyright notice and this permission notice shall be included in
|
||
|
all copies or substantial portions of the Software.
|
||
|
|
||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||
|
THE SOFTWARE.
|
||
|
*/
|
||
|
|
||
|
lexer grammar MySqlLexer;
|
||
|
|
||
|
options { caseInsensitive = true; }
|
||
|
|
||
|
channels { MYSQLCOMMENT, ERRORCHANNEL }
|
||
|
|
||
|
// SKIP
|
||
|
|
||
|
SPACE: [ \t\r\n]+ -> channel(HIDDEN);
|
||
|
SPEC_MYSQL_COMMENT: '/*!' .+? '*/' -> channel(MYSQLCOMMENT);
|
||
|
COMMENT_INPUT: '/*' .*? '*/' -> channel(HIDDEN);
|
||
|
LINE_COMMENT: (
|
||
|
('--' [ \t]* | '#') ~[\r\n]* ('\r'? '\n' | EOF)
|
||
|
| '--' ('\r'? '\n' | EOF)
|
||
|
) -> channel(HIDDEN);
|
||
|
|
||
|
|
||
|
// Keywords
|
||
|
// Common Keywords
|
||
|
|
||
|
ADD: 'ADD';
|
||
|
ALL: 'ALL';
|
||
|
ALTER: 'ALTER';
|
||
|
ALWAYS: 'ALWAYS';
|
||
|
ANALYZE: 'ANALYZE';
|
||
|
AND: 'AND';
|
||
|
ARRAY: 'ARRAY';
|
||
|
AS: 'AS';
|
||
|
ASC: 'ASC';
|
||
|
ATTRIBUTE: 'ATTRIBUTE';
|
||
|
BEFORE: 'BEFORE';
|
||
|
BETWEEN: 'BETWEEN';
|
||
|
BOTH: 'BOTH';
|
||
|
BUCKETS: 'BUCKETS';
|
||
|
BY: 'BY';
|
||
|
CALL: 'CALL';
|
||
|
CASCADE: 'CASCADE';
|
||
|
CASE: 'CASE';
|
||
|
CAST: 'CAST';
|
||
|
CHANGE: 'CHANGE';
|
||
|
CHARACTER: 'CHARACTER';
|
||
|
CHECK: 'CHECK';
|
||
|
COLLATE: 'COLLATE';
|
||
|
COLUMN: 'COLUMN';
|
||
|
CONDITION: 'CONDITION';
|
||
|
CONSTRAINT: 'CONSTRAINT';
|
||
|
CONTINUE: 'CONTINUE';
|
||
|
CONVERT: 'CONVERT';
|
||
|
CREATE: 'CREATE';
|
||
|
CROSS: 'CROSS';
|
||
|
CURRENT: 'CURRENT';
|
||
|
CURRENT_ROLE: 'CURRENT_ROLE';
|
||
|
CURRENT_USER: 'CURRENT_USER';
|
||
|
CURSOR: 'CURSOR';
|
||
|
DATABASE: 'DATABASE';
|
||
|
DATABASES: 'DATABASES';
|
||
|
DECLARE: 'DECLARE';
|
||
|
DEFAULT: 'DEFAULT';
|
||
|
DELAYED: 'DELAYED';
|
||
|
DELETE: 'DELETE';
|
||
|
DESC: 'DESC';
|
||
|
DESCRIBE: 'DESCRIBE';
|
||
|
DETERMINISTIC: 'DETERMINISTIC';
|
||
|
DIAGNOSTICS: 'DIAGNOSTICS';
|
||
|
DISTINCT: 'DISTINCT';
|
||
|
DISTINCTROW: 'DISTINCTROW';
|
||
|
DROP: 'DROP';
|
||
|
EACH: 'EACH';
|
||
|
ELSE: 'ELSE';
|
||
|
ELSEIF: 'ELSEIF';
|
||
|
EMPTY: 'EMPTY';
|
||
|
ENCLOSED: 'ENCLOSED';
|
||
|
ENFORCED: 'ENFORCED';
|
||
|
ESCAPED: 'ESCAPED';
|
||
|
EXCEPT: 'EXCEPT';
|
||
|
EXISTS: 'EXISTS';
|
||
|
EXIT: 'EXIT';
|
||
|
EXPLAIN: 'EXPLAIN';
|
||
|
FALSE: 'FALSE';
|
||
|
FETCH: 'FETCH';
|
||
|
FOR: 'FOR';
|
||
|
FORCE: 'FORCE';
|
||
|
FOREIGN: 'FOREIGN';
|
||
|
FROM: 'FROM';
|
||
|
FULLTEXT: 'FULLTEXT';
|
||
|
GENERATED: 'GENERATED';
|
||
|
GET: 'GET';
|
||
|
GRANT: 'GRANT';
|
||
|
GROUP: 'GROUP';
|
||
|
HAVING: 'HAVING';
|
||
|
HIGH_PRIORITY: 'HIGH_PRIORITY';
|
||
|
HISTOGRAM: 'HISTOGRAM';
|
||
|
IF: 'IF';
|
||
|
IGNORE: 'IGNORE';
|
||
|
IGNORED: 'IGNORED';
|
||
|
IN: 'IN';
|
||
|
INDEX: 'INDEX';
|
||
|
INFILE: 'INFILE';
|
||
|
INNER: 'INNER';
|
||
|
INOUT: 'INOUT';
|
||
|
INSERT: 'INSERT';
|
||
|
INTERVAL: 'INTERVAL';
|
||
|
INTO: 'INTO';
|
||
|
IS: 'IS';
|
||
|
ITERATE: 'ITERATE';
|
||
|
JOIN: 'JOIN';
|
||
|
KEY: 'KEY';
|
||
|
KEYS: 'KEYS';
|
||
|
KILL: 'KILL';
|
||
|
LATERAL: 'LATERAL';
|
||
|
LEADING: 'LEADING';
|
||
|
LEAVE: 'LEAVE';
|
||
|
LEFT: 'LEFT';
|
||
|
LIKE: 'LIKE';
|
||
|
LIMIT: 'LIMIT';
|
||
|
LINEAR: 'LINEAR';
|
||
|
LINES: 'LINES';
|
||
|
LOAD: 'LOAD';
|
||
|
LOCK: 'LOCK';
|
||
|
LOCKED: 'LOCKED';
|
||
|
LOOP: 'LOOP';
|
||
|
LOW_PRIORITY: 'LOW_PRIORITY';
|
||
|
MASTER_BIND: 'MASTER_BIND';
|
||
|
MASTER_SSL_VERIFY_SERVER_CERT: 'MASTER_SSL_VERIFY_SERVER_CERT';
|
||
|
MATCH: 'MATCH';
|
||
|
MAXVALUE: 'MAXVALUE';
|
||
|
MINVALUE: 'MINVALUE';
|
||
|
MODIFIES: 'MODIFIES';
|
||
|
NATURAL: 'NATURAL';
|
||
|
NOT: 'NOT';
|
||
|
NO_WRITE_TO_BINLOG: 'NO_WRITE_TO_BINLOG';
|
||
|
NULL_LITERAL: 'NULL';
|
||
|
NUMBER: 'NUMBER';
|
||
|
ON: 'ON';
|
||
|
OPTIMIZE: 'OPTIMIZE';
|
||
|
OPTION: 'OPTION';
|
||
|
OPTIONAL: 'OPTIONAL';
|
||
|
OPTIONALLY: 'OPTIONALLY';
|
||
|
OR: 'OR';
|
||
|
ORDER: 'ORDER';
|
||
|
OUT: 'OUT';
|
||
|
OUTER: 'OUTER';
|
||
|
OUTFILE: 'OUTFILE';
|
||
|
OVER: 'OVER';
|
||
|
PARTITION: 'PARTITION';
|
||
|
PRIMARY: 'PRIMARY';
|
||
|
PROCEDURE: 'PROCEDURE';
|
||
|
PURGE: 'PURGE';
|
||
|
RANGE: 'RANGE';
|
||
|
READ: 'READ';
|
||
|
READS: 'READS';
|
||
|
REFERENCES: 'REFERENCES';
|
||
|
REGEXP: 'REGEXP';
|
||
|
RELEASE: 'RELEASE';
|
||
|
RENAME: 'RENAME';
|
||
|
REPEAT: 'REPEAT';
|
||
|
REPLACE: 'REPLACE';
|
||
|
REQUIRE: 'REQUIRE';
|
||
|
RESIGNAL: 'RESIGNAL';
|
||
|
RESTRICT: 'RESTRICT';
|
||
|
RETAIN: 'RETAIN';
|
||
|
RETURN: 'RETURN';
|
||
|
REVOKE: 'REVOKE';
|
||
|
RIGHT: 'RIGHT';
|
||
|
RLIKE: 'RLIKE';
|
||
|
SCHEMA: 'SCHEMA';
|
||
|
SCHEMAS: 'SCHEMAS';
|
||
|
SELECT: 'SELECT';
|
||
|
SET: 'SET';
|
||
|
SEPARATOR: 'SEPARATOR';
|
||
|
SHOW: 'SHOW';
|
||
|
SIGNAL: 'SIGNAL';
|
||
|
SKIP_: 'SKIP';
|
||
|
SKIP_QUERY_REWRITE: 'SKIP_QUERY_REWRITE';
|
||
|
SPATIAL: 'SPATIAL';
|
||
|
SQL: 'SQL';
|
||
|
SQLEXCEPTION: 'SQLEXCEPTION';
|
||
|
SQLSTATE: 'SQLSTATE';
|
||
|
SQLWARNING: 'SQLWARNING';
|
||
|
SQL_BIG_RESULT: 'SQL_BIG_RESULT';
|
||
|
SQL_CALC_FOUND_ROWS: 'SQL_CALC_FOUND_ROWS';
|
||
|
SQL_SMALL_RESULT: 'SQL_SMALL_RESULT';
|
||
|
SSL: 'SSL';
|
||
|
STACKED: 'STACKED';
|
||
|
STARTING: 'STARTING';
|
||
|
STATEMENT: 'STATEMENT';
|
||
|
STRAIGHT_JOIN: 'STRAIGHT_JOIN';
|
||
|
TABLE: 'TABLE';
|
||
|
TERMINATED: 'TERMINATED';
|
||
|
THEN: 'THEN';
|
||
|
TO: 'TO';
|
||
|
TRAILING: 'TRAILING';
|
||
|
TRIGGER: 'TRIGGER';
|
||
|
TRUE: 'TRUE';
|
||
|
UNDO: 'UNDO';
|
||
|
UNION: 'UNION';
|
||
|
UNIQUE: 'UNIQUE';
|
||
|
UNLOCK: 'UNLOCK';
|
||
|
UNSIGNED: 'UNSIGNED';
|
||
|
UPDATE: 'UPDATE';
|
||
|
USAGE: 'USAGE';
|
||
|
USE: 'USE';
|
||
|
USING: 'USING';
|
||
|
VALUES: 'VALUES';
|
||
|
WHEN: 'WHEN';
|
||
|
WHERE: 'WHERE';
|
||
|
WHILE: 'WHILE';
|
||
|
WITH: 'WITH';
|
||
|
WRITE: 'WRITE';
|
||
|
XOR: 'XOR';
|
||
|
ZEROFILL: 'ZEROFILL';
|
||
|
|
||
|
// DATA TYPE Keywords
|
||
|
|
||
|
TINYINT: 'TINYINT';
|
||
|
SMALLINT: 'SMALLINT';
|
||
|
MEDIUMINT: 'MEDIUMINT';
|
||
|
MIDDLEINT: 'MIDDLEINT';
|
||
|
INT: 'INT';
|
||
|
INT1: 'INT1';
|
||
|
INT2: 'INT2';
|
||
|
INT3: 'INT3';
|
||
|
INT4: 'INT4';
|
||
|
INT8: 'INT8';
|
||
|
INTEGER: 'INTEGER';
|
||
|
BIGINT: 'BIGINT';
|
||
|
REAL: 'REAL';
|
||
|
DOUBLE: 'DOUBLE';
|
||
|
PRECISION: 'PRECISION';
|
||
|
FLOAT: 'FLOAT';
|
||
|
FLOAT4: 'FLOAT4';
|
||
|
FLOAT8: 'FLOAT8';
|
||
|
DECIMAL: 'DECIMAL';
|
||
|
DEC: 'DEC';
|
||
|
NUMERIC: 'NUMERIC';
|
||
|
DATE: 'DATE';
|
||
|
TIME: 'TIME';
|
||
|
TIMESTAMP: 'TIMESTAMP';
|
||
|
DATETIME: 'DATETIME';
|
||
|
YEAR: 'YEAR';
|
||
|
CHAR: 'CHAR';
|
||
|
VARCHAR: 'VARCHAR';
|
||
|
NVARCHAR: 'NVARCHAR';
|
||
|
NATIONAL: 'NATIONAL';
|
||
|
BINARY: 'BINARY';
|
||
|
VARBINARY: 'VARBINARY';
|
||
|
TINYBLOB: 'TINYBLOB';
|
||
|
BLOB: 'BLOB';
|
||
|
MEDIUMBLOB: 'MEDIUMBLOB';
|
||
|
LONG: 'LONG';
|
||
|
LONGBLOB: 'LONGBLOB';
|
||
|
TINYTEXT: 'TINYTEXT';
|
||
|
TEXT: 'TEXT';
|
||
|
MEDIUMTEXT: 'MEDIUMTEXT';
|
||
|
LONGTEXT: 'LONGTEXT';
|
||
|
ENUM: 'ENUM';
|
||
|
VARYING: 'VARYING';
|
||
|
SERIAL: 'SERIAL';
|
||
|
|
||
|
|
||
|
// Interval type Keywords
|
||
|
|
||
|
YEAR_MONTH: 'YEAR_MONTH';
|
||
|
DAY_HOUR: 'DAY_HOUR';
|
||
|
DAY_MINUTE: 'DAY_MINUTE';
|
||
|
DAY_SECOND: 'DAY_SECOND';
|
||
|
HOUR_MINUTE: 'HOUR_MINUTE';
|
||
|
HOUR_SECOND: 'HOUR_SECOND';
|
||
|
MINUTE_SECOND: 'MINUTE_SECOND';
|
||
|
SECOND_MICROSECOND: 'SECOND_MICROSECOND';
|
||
|
MINUTE_MICROSECOND: 'MINUTE_MICROSECOND';
|
||
|
HOUR_MICROSECOND: 'HOUR_MICROSECOND';
|
||
|
DAY_MICROSECOND: 'DAY_MICROSECOND';
|
||
|
|
||
|
// JSON keywords
|
||
|
JSON_ARRAY: 'JSON_ARRAY';
|
||
|
JSON_ARRAYAGG: 'JSON_ARRAYAGG';
|
||
|
JSON_ARRAY_APPEND: 'JSON_ARRAY_APPEND';
|
||
|
JSON_ARRAY_INSERT: 'JSON_ARRAY_INSERT';
|
||
|
JSON_CONTAINS: 'JSON_CONTAINS';
|
||
|
JSON_CONTAINS_PATH: 'JSON_CONTAINS_PATH';
|
||
|
JSON_DEPTH: 'JSON_DEPTH';
|
||
|
JSON_EXTRACT: 'JSON_EXTRACT';
|
||
|
JSON_INSERT: 'JSON_INSERT';
|
||
|
JSON_KEYS: 'JSON_KEYS';
|
||
|
JSON_LENGTH: 'JSON_LENGTH';
|
||
|
JSON_MERGE: 'JSON_MERGE';
|
||
|
JSON_MERGE_PATCH: 'JSON_MERGE_PATCH';
|
||
|
JSON_MERGE_PRESERVE: 'JSON_MERGE_PRESERVE';
|
||
|
JSON_OBJECT: 'JSON_OBJECT';
|
||
|
JSON_OBJECTAGG: 'JSON_OBJECTAGG';
|
||
|
JSON_OVERLAPS: 'JSON_OVERLAPS';
|
||
|
JSON_PRETTY: 'JSON_PRETTY';
|
||
|
JSON_QUOTE: 'JSON_QUOTE';
|
||
|
JSON_REMOVE: 'JSON_REMOVE';
|
||
|
JSON_REPLACE: 'JSON_REPLACE';
|
||
|
JSON_SCHEMA_VALID: 'JSON_SCHEMA_VALID';
|
||
|
JSON_SCHEMA_VALIDATION_REPORT: 'JSON_SCHEMA_VALIDATION_REPORT';
|
||
|
JSON_SEARCH: 'JSON_SEARCH';
|
||
|
JSON_SET: 'JSON_SET';
|
||
|
JSON_STORAGE_FREE: 'JSON_STORAGE_FREE';
|
||
|
JSON_STORAGE_SIZE: 'JSON_STORAGE_SIZE';
|
||
|
JSON_TABLE: 'JSON_TABLE';
|
||
|
JSON_TYPE: 'JSON_TYPE';
|
||
|
JSON_UNQUOTE: 'JSON_UNQUOTE';
|
||
|
JSON_VALID: 'JSON_VALID';
|
||
|
JSON_VALUE: 'JSON_VALUE';
|
||
|
NESTED: 'NESTED';
|
||
|
ORDINALITY: 'ORDINALITY';
|
||
|
PATH: 'PATH';
|
||
|
|
||
|
// Group function Keywords
|
||
|
|
||
|
AVG: 'AVG';
|
||
|
BIT_AND: 'BIT_AND';
|
||
|
BIT_OR: 'BIT_OR';
|
||
|
BIT_XOR: 'BIT_XOR';
|
||
|
COUNT: 'COUNT';
|
||
|
CUME_DIST: 'CUME_DIST';
|
||
|
DENSE_RANK: 'DENSE_RANK';
|
||
|
FIRST_VALUE: 'FIRST_VALUE';
|
||
|
GROUP_CONCAT: 'GROUP_CONCAT';
|
||
|
LAG: 'LAG';
|
||
|
LAST_VALUE: 'LAST_VALUE';
|
||
|
LEAD: 'LEAD';
|
||
|
MAX: 'MAX';
|
||
|
MIN: 'MIN';
|
||
|
NTILE: 'NTILE';
|
||
|
NTH_VALUE: 'NTH_VALUE';
|
||
|
PERCENT_RANK: 'PERCENT_RANK';
|
||
|
RANK: 'RANK';
|
||
|
ROW_NUMBER: 'ROW_NUMBER';
|
||
|
STD: 'STD';
|
||
|
STDDEV: 'STDDEV';
|
||
|
STDDEV_POP: 'STDDEV_POP';
|
||
|
STDDEV_SAMP: 'STDDEV_SAMP';
|
||
|
SUM: 'SUM';
|
||
|
VAR_POP: 'VAR_POP';
|
||
|
VAR_SAMP: 'VAR_SAMP';
|
||
|
VARIANCE: 'VARIANCE';
|
||
|
|
||
|
// Common function Keywords
|
||
|
|
||
|
CURRENT_DATE: 'CURRENT_DATE';
|
||
|
CURRENT_TIME: 'CURRENT_TIME';
|
||
|
CURRENT_TIMESTAMP: 'CURRENT_TIMESTAMP';
|
||
|
LOCALTIME: 'LOCALTIME';
|
||
|
CURDATE: 'CURDATE';
|
||
|
CURTIME: 'CURTIME';
|
||
|
DATE_ADD: 'DATE_ADD';
|
||
|
DATE_SUB: 'DATE_SUB';
|
||
|
EXTRACT: 'EXTRACT';
|
||
|
LOCALTIMESTAMP: 'LOCALTIMESTAMP';
|
||
|
NOW: 'NOW';
|
||
|
POSITION: 'POSITION';
|
||
|
SUBSTR: 'SUBSTR';
|
||
|
SUBSTRING: 'SUBSTRING';
|
||
|
SYSDATE: 'SYSDATE';
|
||
|
TRIM: 'TRIM';
|
||
|
UTC_DATE: 'UTC_DATE';
|
||
|
UTC_TIME: 'UTC_TIME';
|
||
|
UTC_TIMESTAMP: 'UTC_TIMESTAMP';
|
||
|
|
||
|
// Keywords, but can be ID
|
||
|
// Common Keywords, but can be ID
|
||
|
|
||
|
ACCOUNT: 'ACCOUNT';
|
||
|
ACTION: 'ACTION';
|
||
|
AFTER: 'AFTER';
|
||
|
AGGREGATE: 'AGGREGATE';
|
||
|
ALGORITHM: 'ALGORITHM';
|
||
|
ANY: 'ANY';
|
||
|
AT: 'AT';
|
||
|
AUTHORS: 'AUTHORS';
|
||
|
AUTOCOMMIT: 'AUTOCOMMIT';
|
||
|
AUTOEXTEND_SIZE: 'AUTOEXTEND_SIZE';
|
||
|
AUTO_INCREMENT: 'AUTO_INCREMENT';
|
||
|
AVG_ROW_LENGTH: 'AVG_ROW_LENGTH';
|
||
|
BEGIN: 'BEGIN';
|
||
|
BINLOG: 'BINLOG';
|
||
|
BIT: 'BIT';
|
||
|
BLOCK: 'BLOCK';
|
||
|
BOOL: 'BOOL';
|
||
|
BOOLEAN: 'BOOLEAN';
|
||
|
BTREE: 'BTREE';
|
||
|
CACHE: 'CACHE';
|
||
|
CASCADED: 'CASCADED';
|
||
|
CHAIN: 'CHAIN';
|
||
|
CHANGED: 'CHANGED';
|
||
|
CHANNEL: 'CHANNEL';
|
||
|
CHECKSUM: 'CHECKSUM';
|
||
|
PAGE_CHECKSUM: 'PAGE_CHECKSUM';
|
||
|
CIPHER: 'CIPHER';
|
||
|
CLASS_ORIGIN: 'CLASS_ORIGIN';
|
||
|
CLIENT: 'CLIENT';
|
||
|
CLOSE: 'CLOSE';
|
||
|
CLUSTERING: 'CLUSTERING';
|
||
|
COALESCE: 'COALESCE';
|
||
|
CODE: 'CODE';
|
||
|
COLUMNS: 'COLUMNS';
|
||
|
COLUMN_FORMAT: 'COLUMN_FORMAT';
|
||
|
COLUMN_NAME: 'COLUMN_NAME';
|
||
|
COMMENT: 'COMMENT';
|
||
|
COMMIT: 'COMMIT';
|
||
|
COMPACT: 'COMPACT';
|
||
|
COMPLETION: 'COMPLETION';
|
||
|
COMPRESSED: 'COMPRESSED';
|
||
|
COMPRESSION: 'COMPRESSION' | QUOTE_SYMB? 'COMPRESSION' QUOTE_SYMB?;
|
||
|
CONCURRENT: 'CONCURRENT';
|
||
|
CONNECT: 'CONNECT';
|
||
|
CONNECTION: 'CONNECTION';
|
||
|
CONSISTENT: 'CONSISTENT';
|
||
|
CONSTRAINT_CATALOG: 'CONSTRAINT_CATALOG';
|
||
|
CONSTRAINT_SCHEMA: 'CONSTRAINT_SCHEMA';
|
||
|
CONSTRAINT_NAME: 'CONSTRAINT_NAME';
|
||
|
CONTAINS: 'CONTAINS';
|
||
|
CONTEXT: 'CONTEXT';
|
||
|
CONTRIBUTORS: 'CONTRIBUTORS';
|
||
|
COPY: 'COPY';
|
||
|
CPU: 'CPU';
|
||
|
CYCLE: 'CYCLE';
|
||
|
CURSOR_NAME: 'CURSOR_NAME';
|
||
|
DATA: 'DATA';
|
||
|
DATAFILE: 'DATAFILE';
|
||
|
DEALLOCATE: 'DEALLOCATE';
|
||
|
DEFAULT_AUTH: 'DEFAULT_AUTH';
|
||
|
DEFINER: 'DEFINER';
|
||
|
DELAY_KEY_WRITE: 'DELAY_KEY_WRITE';
|
||
|
DES_KEY_FILE: 'DES_KEY_FILE';
|
||
|
DIRECTORY: 'DIRECTORY';
|
||
|
DISABLE: 'DISABLE';
|
||
|
DISCARD: 'DISCARD';
|
||
|
DISK: 'DISK';
|
||
|
DO: 'DO';
|
||
|
DUMPFILE: 'DUMPFILE';
|
||
|
DUPLICATE: 'DUPLICATE';
|
||
|
DYNAMIC: 'DYNAMIC';
|
||
|
ENABLE: 'ENABLE';
|
||
|
ENCRYPTED: 'ENCRYPTED';
|
||
|
ENCRYPTION: 'ENCRYPTION';
|
||
|
ENCRYPTION_KEY_ID: 'ENCRYPTION_KEY_ID';
|
||
|
END: 'END';
|
||
|
ENDS: 'ENDS';
|
||
|
ENGINE: 'ENGINE';
|
||
|
ENGINES: 'ENGINES';
|
||
|
ERROR: 'ERROR';
|
||
|
ERRORS: 'ERRORS';
|
||
|
ESCAPE: 'ESCAPE';
|
||
|
EVEN: 'EVEN';
|
||
|
EVENT: 'EVENT';
|
||
|
EVENTS: 'EVENTS';
|
||
|
EVERY: 'EVERY';
|
||
|
EXCHANGE: 'EXCHANGE';
|
||
|
EXCLUSIVE: 'EXCLUSIVE';
|
||
|
EXPIRE: 'EXPIRE';
|
||
|
EXPORT: 'EXPORT';
|
||
|
EXTENDED: 'EXTENDED';
|
||
|
EXTENT_SIZE: 'EXTENT_SIZE';
|
||
|
FAILED_LOGIN_ATTEMPTS: 'FAILED_LOGIN_ATTEMPTS';
|
||
|
FAST: 'FAST';
|
||
|
FAULTS: 'FAULTS';
|
||
|
FIELDS: 'FIELDS';
|
||
|
FILE_BLOCK_SIZE: 'FILE_BLOCK_SIZE';
|
||
|
FILTER: 'FILTER';
|
||
|
FIRST: 'FIRST';
|
||
|
FIXED: 'FIXED';
|
||
|
FLUSH: 'FLUSH';
|
||
|
FOLLOWING: 'FOLLOWING';
|
||
|
FOLLOWS: 'FOLLOWS';
|
||
|
FOUND: 'FOUND';
|
||
|
FULL: 'FULL';
|
||
|
FUNCTION: 'FUNCTION';
|
||
|
GENERAL: 'GENERAL';
|
||
|
GLOBAL: 'GLOBAL';
|
||
|
GRANTS: 'GRANTS';
|
||
|
GROUP_REPLICATION: 'GROUP_REPLICATION';
|
||
|
HANDLER: 'HANDLER';
|
||
|
HASH: 'HASH';
|
||
|
HELP: 'HELP';
|
||
|
HISTORY: 'HISTORY';
|
||
|
HOST: 'HOST';
|
||
|
HOSTS: 'HOSTS';
|
||
|
IDENTIFIED: 'IDENTIFIED';
|
||
|
IGNORE_SERVER_IDS: 'IGNORE_SERVER_IDS';
|
||
|
IMPORT: 'IMPORT';
|
||
|
INCREMENT: 'INCREMENT';
|
||
|
INDEXES: 'INDEXES';
|
||
|
INITIAL_SIZE: 'INITIAL_SIZE';
|
||
|
INPLACE: 'INPLACE';
|
||
|
INSERT_METHOD: 'INSERT_METHOD';
|
||
|
INSTALL: 'INSTALL';
|
||
|
INSTANCE: 'INSTANCE';
|
||
|
INSTANT: 'INSTANT';
|
||
|
INVISIBLE: 'INVISIBLE';
|
||
|
INVOKER: 'INVOKER';
|
||
|
IO: 'IO';
|
||
|
IO_THREAD: 'IO_THREAD';
|
||
|
IPC: 'IPC';
|
||
|
ISOLATION: 'ISOLATION';
|
||
|
ISSUER: 'ISSUER';
|
||
|
JSON: 'JSON';
|
||
|
KEY_BLOCK_SIZE: 'KEY_BLOCK_SIZE';
|
||
|
LANGUAGE: 'LANGUAGE';
|
||
|
LAST: 'LAST';
|
||
|
LEAVES: 'LEAVES';
|
||
|
LESS: 'LESS';
|
||
|
LEVEL: 'LEVEL';
|
||
|
LIST: 'LIST';
|
||
|
LOCAL: 'LOCAL';
|
||
|
LOGFILE: 'LOGFILE';
|
||
|
LOGS: 'LOGS';
|
||
|
MASTER: 'MASTER';
|
||
|
MASTER_AUTO_POSITION: 'MASTER_AUTO_POSITION';
|
||
|
MASTER_CONNECT_RETRY: 'MASTER_CONNECT_RETRY';
|
||
|
MASTER_DELAY: 'MASTER_DELAY';
|
||
|
MASTER_HEARTBEAT_PERIOD: 'MASTER_HEARTBEAT_PERIOD';
|
||
|
MASTER_HOST: 'MASTER_HOST';
|
||
|
MASTER_LOG_FILE: 'MASTER_LOG_FILE';
|
||
|
MASTER_LOG_POS: 'MASTER_LOG_POS';
|
||
|
MASTER_PASSWORD: 'MASTER_PASSWORD';
|
||
|
MASTER_PORT: 'MASTER_PORT';
|
||
|
MASTER_RETRY_COUNT: 'MASTER_RETRY_COUNT';
|
||
|
MASTER_SSL: 'MASTER_SSL';
|
||
|
MASTER_SSL_CA: 'MASTER_SSL_CA';
|
||
|
MASTER_SSL_CAPATH: 'MASTER_SSL_CAPATH';
|
||
|
MASTER_SSL_CERT: 'MASTER_SSL_CERT';
|
||
|
MASTER_SSL_CIPHER: 'MASTER_SSL_CIPHER';
|
||
|
MASTER_SSL_CRL: 'MASTER_SSL_CRL';
|
||
|
MASTER_SSL_CRLPATH: 'MASTER_SSL_CRLPATH';
|
||
|
MASTER_SSL_KEY: 'MASTER_SSL_KEY';
|
||
|
MASTER_TLS_VERSION: 'MASTER_TLS_VERSION';
|
||
|
MASTER_USER: 'MASTER_USER';
|
||
|
MAX_CONNECTIONS_PER_HOUR: 'MAX_CONNECTIONS_PER_HOUR';
|
||
|
MAX_QUERIES_PER_HOUR: 'MAX_QUERIES_PER_HOUR';
|
||
|
MAX_ROWS: 'MAX_ROWS';
|
||
|
MAX_SIZE: 'MAX_SIZE';
|
||
|
MAX_UPDATES_PER_HOUR: 'MAX_UPDATES_PER_HOUR';
|
||
|
MAX_USER_CONNECTIONS: 'MAX_USER_CONNECTIONS';
|
||
|
MEDIUM: 'MEDIUM';
|
||
|
MEMBER: 'MEMBER';
|
||
|
MERGE: 'MERGE';
|
||
|
MESSAGE_TEXT: 'MESSAGE_TEXT';
|
||
|
MID: 'MID';
|
||
|
MIGRATE: 'MIGRATE';
|
||
|
MIN_ROWS: 'MIN_ROWS';
|
||
|
MODE: 'MODE';
|
||
|
MODIFY: 'MODIFY';
|
||
|
MUTEX: 'MUTEX';
|
||
|
MYSQL: 'MYSQL';
|
||
|
MYSQL_ERRNO: 'MYSQL_ERRNO';
|
||
|
NAME: 'NAME';
|
||
|
NAMES: 'NAMES';
|
||
|
NCHAR: 'NCHAR';
|
||
|
NEVER: 'NEVER';
|
||
|
NEXT: 'NEXT';
|
||
|
NO: 'NO';
|
||
|
NOCACHE: 'NOCACHE';
|
||
|
NOCOPY: 'NOCOPY';
|
||
|
NOCYCLE: 'NOCYCLE';
|
||
|
NOMAXVALUE: 'NOMAXVALUE';
|
||
|
NOMINVALUE: 'NOMINVALUE';
|
||
|
NOWAIT: 'NOWAIT';
|
||
|
NODEGROUP: 'NODEGROUP';
|
||
|
NONE: 'NONE';
|
||
|
ODBC: 'ODBC';
|
||
|
OFFLINE: 'OFFLINE';
|
||
|
OFFSET: 'OFFSET';
|
||
|
OF: 'OF';
|
||
|
OJ: 'OJ';
|
||
|
OLD_PASSWORD: 'OLD_PASSWORD';
|
||
|
ONE: 'ONE';
|
||
|
ONLINE: 'ONLINE';
|
||
|
ONLY: 'ONLY';
|
||
|
OPEN: 'OPEN';
|
||
|
OPTIMIZER_COSTS: 'OPTIMIZER_COSTS';
|
||
|
OPTIONS: 'OPTIONS';
|
||
|
OWNER: 'OWNER';
|
||
|
PACK_KEYS: 'PACK_KEYS';
|
||
|
PAGE: 'PAGE';
|
||
|
PAGE_COMPRESSED: 'PAGE_COMPRESSED';
|
||
|
PAGE_COMPRESSION_LEVEL: 'PAGE_COMPRESSION_LEVEL';
|
||
|
PARSER: 'PARSER';
|
||
|
PARTIAL: 'PARTIAL';
|
||
|
PARTITIONING: 'PARTITIONING';
|
||
|
PARTITIONS: 'PARTITIONS';
|
||
|
PASSWORD: 'PASSWORD';
|
||
|
PASSWORD_LOCK_TIME: 'PASSWORD_LOCK_TIME';
|
||
|
PHASE: 'PHASE';
|
||
|
PLUGIN: 'PLUGIN';
|
||
|
PLUGIN_DIR: 'PLUGIN_DIR';
|
||
|
PLUGINS: 'PLUGINS';
|
||
|
PORT: 'PORT';
|
||
|
PRECEDES: 'PRECEDES';
|
||
|
PRECEDING: 'PRECEDING';
|
||
|
PREPARE: 'PREPARE';
|
||
|
PRESERVE: 'PRESERVE';
|
||
|
PREV: 'PREV';
|
||
|
PROCESSLIST: 'PROCESSLIST';
|
||
|
PROFILE: 'PROFILE';
|
||
|
PROFILES: 'PROFILES';
|
||
|
PROXY: 'PROXY';
|
||
|
QUERY: 'QUERY';
|
||
|
QUICK: 'QUICK';
|
||
|
REBUILD: 'REBUILD';
|
||
|
RECOVER: 'RECOVER';
|
||
|
RECURSIVE: 'RECURSIVE';
|
||
|
REDO_BUFFER_SIZE: 'REDO_BUFFER_SIZE';
|
||
|
REDUNDANT: 'REDUNDANT';
|
||
|
RELAY: 'RELAY';
|
||
|
RELAY_LOG_FILE: 'RELAY_LOG_FILE';
|
||
|
RELAY_LOG_POS: 'RELAY_LOG_POS';
|
||
|
RELAYLOG: 'RELAYLOG';
|
||
|
REMOVE: 'REMOVE';
|
||
|
REORGANIZE: 'REORGANIZE';
|
||
|
REPAIR: 'REPAIR';
|
||
|
REPLICATE_DO_DB: 'REPLICATE_DO_DB';
|
||
|
REPLICATE_DO_TABLE: 'REPLICATE_DO_TABLE';
|
||
|
REPLICATE_IGNORE_DB: 'REPLICATE_IGNORE_DB';
|
||
|
REPLICATE_IGNORE_TABLE: 'REPLICATE_IGNORE_TABLE';
|
||
|
REPLICATE_REWRITE_DB: 'REPLICATE_REWRITE_DB';
|
||
|
REPLICATE_WILD_DO_TABLE: 'REPLICATE_WILD_DO_TABLE';
|
||
|
REPLICATE_WILD_IGNORE_TABLE: 'REPLICATE_WILD_IGNORE_TABLE';
|
||
|
REPLICATION: 'REPLICATION';
|
||
|
RESET: 'RESET';
|
||
|
RESTART: 'RESTART';
|
||
|
RESUME: 'RESUME';
|
||
|
RETURNED_SQLSTATE: 'RETURNED_SQLSTATE';
|
||
|
RETURNING: 'RETURNING';
|
||
|
RETURNS: 'RETURNS';
|
||
|
REUSE: 'REUSE';
|
||
|
ROLE: 'ROLE';
|
||
|
ROLLBACK: 'ROLLBACK';
|
||
|
ROLLUP: 'ROLLUP';
|
||
|
ROTATE: 'ROTATE';
|
||
|
ROW: 'ROW';
|
||
|
ROWS: 'ROWS';
|
||
|
ROW_FORMAT: 'ROW_FORMAT';
|
||
|
RTREE: 'RTREE';
|
||
|
SAVEPOINT: 'SAVEPOINT';
|
||
|
SCHEDULE: 'SCHEDULE';
|
||
|
SECURITY: 'SECURITY';
|
||
|
SEQUENCE: 'SEQUENCE';
|
||
|
SERVER: 'SERVER';
|
||
|
SESSION: 'SESSION';
|
||
|
SHARE: 'SHARE';
|
||
|
SHARED: 'SHARED';
|
||
|
SIGNED: 'SIGNED';
|
||
|
SIMPLE: 'SIMPLE';
|
||
|
SLAVE: 'SLAVE';
|
||
|
SLOW: 'SLOW';
|
||
|
SNAPSHOT: 'SNAPSHOT';
|
||
|
SOCKET: 'SOCKET';
|
||
|
SOME: 'SOME';
|
||
|
SONAME: 'SONAME';
|
||
|
SOUNDS: 'SOUNDS';
|
||
|
SOURCE: 'SOURCE';
|
||
|
SQL_AFTER_GTIDS: 'SQL_AFTER_GTIDS';
|
||
|
SQL_AFTER_MTS_GAPS: 'SQL_AFTER_MTS_GAPS';
|
||
|
SQL_BEFORE_GTIDS: 'SQL_BEFORE_GTIDS';
|
||
|
SQL_BUFFER_RESULT: 'SQL_BUFFER_RESULT';
|
||
|
SQL_CACHE: 'SQL_CACHE';
|
||
|
SQL_NO_CACHE: 'SQL_NO_CACHE';
|
||
|
SQL_THREAD: 'SQL_THREAD';
|
||
|
START: 'START';
|
||
|
STARTS: 'STARTS';
|
||
|
STATS_AUTO_RECALC: 'STATS_AUTO_RECALC';
|
||
|
STATS_PERSISTENT: 'STATS_PERSISTENT';
|
||
|
STATS_SAMPLE_PAGES: 'STATS_SAMPLE_PAGES';
|
||
|
STATUS: 'STATUS';
|
||
|
STOP: 'STOP';
|
||
|
STORAGE: 'STORAGE';
|
||
|
STORED: 'STORED';
|
||
|
STRING: 'STRING';
|
||
|
SUBCLASS_ORIGIN: 'SUBCLASS_ORIGIN';
|
||
|
SUBJECT: 'SUBJECT';
|
||
|
SUBPARTITION: 'SUBPARTITION';
|
||
|
SUBPARTITIONS: 'SUBPARTITIONS';
|
||
|
SUSPEND: 'SUSPEND';
|
||
|
SWAPS: 'SWAPS';
|
||
|
SWITCHES: 'SWITCHES';
|
||
|
TABLE_NAME: 'TABLE_NAME';
|
||
|
TABLESPACE: 'TABLESPACE';
|
||
|
TABLE_TYPE: 'TABLE_TYPE';
|
||
|
TEMPORARY: 'TEMPORARY';
|
||
|
TEMPTABLE: 'TEMPTABLE';
|
||
|
THAN: 'THAN';
|
||
|
TRADITIONAL: 'TRADITIONAL';
|
||
|
TRANSACTION: 'TRANSACTION';
|
||
|
TRANSACTIONAL: 'TRANSACTIONAL';
|
||
|
TRIGGERS: 'TRIGGERS';
|
||
|
TRUNCATE: 'TRUNCATE';
|
||
|
UNBOUNDED: 'UNBOUNDED';
|
||
|
UNDEFINED: 'UNDEFINED';
|
||
|
UNDOFILE: 'UNDOFILE';
|
||
|
UNDO_BUFFER_SIZE: 'UNDO_BUFFER_SIZE';
|
||
|
UNINSTALL: 'UNINSTALL';
|
||
|
UNKNOWN: 'UNKNOWN';
|
||
|
UNTIL: 'UNTIL';
|
||
|
UPGRADE: 'UPGRADE';
|
||
|
USER: 'USER';
|
||
|
USE_FRM: 'USE_FRM';
|
||
|
USER_RESOURCES: 'USER_RESOURCES';
|
||
|
VALIDATION: 'VALIDATION';
|
||
|
VALUE: 'VALUE';
|
||
|
VARIABLES: 'VARIABLES';
|
||
|
VIEW: 'VIEW';
|
||
|
VIRTUAL: 'VIRTUAL';
|
||
|
VISIBLE: 'VISIBLE';
|
||
|
WAIT: 'WAIT';
|
||
|
WARNINGS: 'WARNINGS';
|
||
|
WINDOW: 'WINDOW';
|
||
|
WITHOUT: 'WITHOUT';
|
||
|
WORK: 'WORK';
|
||
|
WRAPPER: 'WRAPPER';
|
||
|
X509: 'X509';
|
||
|
XA: 'XA';
|
||
|
XML: 'XML';
|
||
|
YES: 'YES';
|
||
|
|
||
|
// Date format Keywords
|
||
|
|
||
|
EUR: 'EUR';
|
||
|
USA: 'USA';
|
||
|
JIS: 'JIS';
|
||
|
ISO: 'ISO';
|
||
|
INTERNAL: 'INTERNAL';
|
||
|
|
||
|
|
||
|
// Interval type Keywords
|
||
|
|
||
|
QUARTER: 'QUARTER';
|
||
|
MONTH: 'MONTH';
|
||
|
DAY: 'DAY';
|
||
|
HOUR: 'HOUR';
|
||
|
MINUTE: 'MINUTE';
|
||
|
WEEK: 'WEEK';
|
||
|
SECOND: 'SECOND';
|
||
|
MICROSECOND: 'MICROSECOND';
|
||
|
|
||
|
|
||
|
// PRIVILEGES
|
||
|
|
||
|
ADMIN: 'ADMIN';
|
||
|
APPLICATION_PASSWORD_ADMIN: 'APPLICATION_PASSWORD_ADMIN';
|
||
|
AUDIT_ABORT_EXEMPT: 'AUDIT_ABORT_EXEMPT';
|
||
|
AUDIT_ADMIN: 'AUDIT_ADMIN';
|
||
|
AUTHENTICATION_POLICY_ADMIN: 'AUTHENTICATION_POLICY_ADMIN';
|
||
|
BACKUP_ADMIN: 'BACKUP_ADMIN';
|
||
|
BINLOG_ADMIN: 'BINLOG_ADMIN';
|
||
|
BINLOG_ENCRYPTION_ADMIN: 'BINLOG_ENCRYPTION_ADMIN';
|
||
|
CLONE_ADMIN: 'CLONE_ADMIN';
|
||
|
CONNECTION_ADMIN: 'CONNECTION_ADMIN';
|
||
|
ENCRYPTION_KEY_ADMIN: 'ENCRYPTION_KEY_ADMIN';
|
||
|
EXECUTE: 'EXECUTE';
|
||
|
FILE: 'FILE';
|
||
|
FIREWALL_ADMIN: 'FIREWALL_ADMIN';
|
||
|
FIREWALL_EXEMPT: 'FIREWALL_EXEMPT';
|
||
|
FIREWALL_USER: 'FIREWALL_USER';
|
||
|
FLUSH_OPTIMIZER_COSTS: 'FLUSH_OPTIMIZER_COSTS';
|
||
|
FLUSH_STATUS: 'FLUSH_STATUS';
|
||
|
FLUSH_TABLES: 'FLUSH_TABLES';
|
||
|
FLUSH_USER_RESOURCES: 'FLUSH_USER_RESOURCES';
|
||
|
GROUP_REPLICATION_ADMIN: 'GROUP_REPLICATION_ADMIN';
|
||
|
INNODB_REDO_LOG_ARCHIVE: 'INNODB_REDO_LOG_ARCHIVE';
|
||
|
INNODB_REDO_LOG_ENABLE: 'INNODB_REDO_LOG_ENABLE';
|
||
|
INVOKE: 'INVOKE';
|
||
|
LAMBDA: 'LAMBDA';
|
||
|
NDB_STORED_USER: 'NDB_STORED_USER';
|
||
|
PASSWORDLESS_USER_ADMIN: 'PASSWORDLESS_USER_ADMIN';
|
||
|
PERSIST_RO_VARIABLES_ADMIN: 'PERSIST_RO_VARIABLES_ADMIN';
|
||
|
PRIVILEGES: 'PRIVILEGES';
|
||
|
PROCESS: 'PROCESS';
|
||
|
RELOAD: 'RELOAD';
|
||
|
REPLICATION_APPLIER: 'REPLICATION_APPLIER';
|
||
|
REPLICATION_SLAVE_ADMIN: 'REPLICATION_SLAVE_ADMIN';
|
||
|
RESOURCE_GROUP_ADMIN: 'RESOURCE_GROUP_ADMIN';
|
||
|
RESOURCE_GROUP_USER: 'RESOURCE_GROUP_USER';
|
||
|
ROLE_ADMIN: 'ROLE_ADMIN';
|
||
|
ROUTINE: 'ROUTINE';
|
||
|
S3: 'S3';
|
||
|
SERVICE_CONNECTION_ADMIN: 'SERVICE_CONNECTION_ADMIN';
|
||
|
SESSION_VARIABLES_ADMIN: QUOTE_SYMB? 'SESSION_VARIABLES_ADMIN' QUOTE_SYMB?;
|
||
|
SET_USER_ID: 'SET_USER_ID';
|
||
|
SHOW_ROUTINE: 'SHOW_ROUTINE';
|
||
|
SHUTDOWN: 'SHUTDOWN';
|
||
|
SUPER: 'SUPER';
|
||
|
SYSTEM_VARIABLES_ADMIN: 'SYSTEM_VARIABLES_ADMIN';
|
||
|
TABLES: 'TABLES';
|
||
|
TABLE_ENCRYPTION_ADMIN: 'TABLE_ENCRYPTION_ADMIN';
|
||
|
VERSION_TOKEN_ADMIN: 'VERSION_TOKEN_ADMIN';
|
||
|
XA_RECOVER_ADMIN: 'XA_RECOVER_ADMIN';
|
||
|
|
||
|
|
||
|
// Charsets
|
||
|
|
||
|
ARMSCII8: 'ARMSCII8';
|
||
|
ASCII: 'ASCII';
|
||
|
BIG5: 'BIG5';
|
||
|
CP1250: 'CP1250';
|
||
|
CP1251: 'CP1251';
|
||
|
CP1256: 'CP1256';
|
||
|
CP1257: 'CP1257';
|
||
|
CP850: 'CP850';
|
||
|
CP852: 'CP852';
|
||
|
CP866: 'CP866';
|
||
|
CP932: 'CP932';
|
||
|
DEC8: 'DEC8';
|
||
|
EUCJPMS: 'EUCJPMS';
|
||
|
EUCKR: 'EUCKR';
|
||
|
GB18030: 'GB18030';
|
||
|
GB2312: 'GB2312';
|
||
|
GBK: 'GBK';
|
||
|
GEOSTD8: 'GEOSTD8';
|
||
|
GREEK: 'GREEK';
|
||
|
HEBREW: 'HEBREW';
|
||
|
HP8: 'HP8';
|
||
|
KEYBCS2: 'KEYBCS2';
|
||
|
KOI8R: 'KOI8R';
|
||
|
KOI8U: 'KOI8U';
|
||
|
LATIN1: 'LATIN1';
|
||
|
LATIN2: 'LATIN2';
|
||
|
LATIN5: 'LATIN5';
|
||
|
LATIN7: 'LATIN7';
|
||
|
MACCE: 'MACCE';
|
||
|
MACROMAN: 'MACROMAN';
|
||
|
SJIS: 'SJIS';
|
||
|
SWE7: 'SWE7';
|
||
|
TIS620: 'TIS620';
|
||
|
UCS2: 'UCS2';
|
||
|
UJIS: 'UJIS';
|
||
|
UTF16: 'UTF16';
|
||
|
UTF16LE: 'UTF16LE';
|
||
|
UTF32: 'UTF32';
|
||
|
UTF8: 'UTF8';
|
||
|
UTF8MB3: 'UTF8MB3';
|
||
|
UTF8MB4: 'UTF8MB4';
|
||
|
|
||
|
|
||
|
// DB Engines
|
||
|
|
||
|
ARCHIVE: 'ARCHIVE';
|
||
|
BLACKHOLE: 'BLACKHOLE';
|
||
|
CSV: 'CSV';
|
||
|
FEDERATED: 'FEDERATED';
|
||
|
INNODB: 'INNODB';
|
||
|
MEMORY: 'MEMORY';
|
||
|
MRG_MYISAM: 'MRG_MYISAM';
|
||
|
MYISAM: 'MYISAM';
|
||
|
NDB: 'NDB';
|
||
|
NDBCLUSTER: 'NDBCLUSTER';
|
||
|
PERFORMANCE_SCHEMA: 'PERFORMANCE_SCHEMA';
|
||
|
TOKUDB: 'TOKUDB';
|
||
|
|
||
|
|
||
|
// Transaction Levels
|
||
|
|
||
|
REPEATABLE: 'REPEATABLE';
|
||
|
COMMITTED: 'COMMITTED';
|
||
|
UNCOMMITTED: 'UNCOMMITTED';
|
||
|
SERIALIZABLE: 'SERIALIZABLE';
|
||
|
|
||
|
|
||
|
// Spatial data types
|
||
|
|
||
|
GEOMETRYCOLLECTION: 'GEOMETRYCOLLECTION';
|
||
|
GEOMCOLLECTION: 'GEOMCOLLECTION';
|
||
|
GEOMETRY: 'GEOMETRY';
|
||
|
LINESTRING: 'LINESTRING';
|
||
|
MULTILINESTRING: 'MULTILINESTRING';
|
||
|
MULTIPOINT: 'MULTIPOINT';
|
||
|
MULTIPOLYGON: 'MULTIPOLYGON';
|
||
|
POINT: 'POINT';
|
||
|
POLYGON: 'POLYGON';
|
||
|
|
||
|
|
||
|
// Common function names
|
||
|
|
||
|
ABS: 'ABS';
|
||
|
ACOS: 'ACOS';
|
||
|
ADDDATE: 'ADDDATE';
|
||
|
ADDTIME: 'ADDTIME';
|
||
|
AES_DECRYPT: 'AES_DECRYPT';
|
||
|
AES_ENCRYPT: 'AES_ENCRYPT';
|
||
|
AREA: 'AREA';
|
||
|
ASBINARY: 'ASBINARY';
|
||
|
ASIN: 'ASIN';
|
||
|
ASTEXT: 'ASTEXT';
|
||
|
ASWKB: 'ASWKB';
|
||
|
ASWKT: 'ASWKT';
|
||
|
ASYMMETRIC_DECRYPT: 'ASYMMETRIC_DECRYPT';
|
||
|
ASYMMETRIC_DERIVE: 'ASYMMETRIC_DERIVE';
|
||
|
ASYMMETRIC_ENCRYPT: 'ASYMMETRIC_ENCRYPT';
|
||
|
ASYMMETRIC_SIGN: 'ASYMMETRIC_SIGN';
|
||
|
ASYMMETRIC_VERIFY: 'ASYMMETRIC_VERIFY';
|
||
|
ATAN: 'ATAN';
|
||
|
ATAN2: 'ATAN2';
|
||
|
BENCHMARK: 'BENCHMARK';
|
||
|
BIN: 'BIN';
|
||
|
BIT_COUNT: 'BIT_COUNT';
|
||
|
BIT_LENGTH: 'BIT_LENGTH';
|
||
|
BUFFER: 'BUFFER';
|
||
|
CATALOG_NAME: 'CATALOG_NAME';
|
||
|
CEIL: 'CEIL';
|
||
|
CEILING: 'CEILING';
|
||
|
CENTROID: 'CENTROID';
|
||
|
CHARACTER_LENGTH: 'CHARACTER_LENGTH';
|
||
|
CHARSET: 'CHARSET';
|
||
|
CHAR_LENGTH: 'CHAR_LENGTH';
|
||
|
COERCIBILITY: 'COERCIBILITY';
|
||
|
COLLATION: 'COLLATION';
|
||
|
COMPRESS: 'COMPRESS';
|
||
|
CONCAT: 'CONCAT';
|
||
|
CONCAT_WS: 'CONCAT_WS';
|
||
|
CONNECTION_ID: 'CONNECTION_ID';
|
||
|
CONV: 'CONV';
|
||
|
CONVERT_TZ: 'CONVERT_TZ';
|
||
|
COS: 'COS';
|
||
|
COT: 'COT';
|
||
|
CRC32: 'CRC32';
|
||
|
CREATE_ASYMMETRIC_PRIV_KEY: 'CREATE_ASYMMETRIC_PRIV_KEY';
|
||
|
CREATE_ASYMMETRIC_PUB_KEY: 'CREATE_ASYMMETRIC_PUB_KEY';
|
||
|
CREATE_DH_PARAMETERS: 'CREATE_DH_PARAMETERS';
|
||
|
CREATE_DIGEST: 'CREATE_DIGEST';
|
||
|
CROSSES: 'CROSSES';
|
||
|
DATEDIFF: 'DATEDIFF';
|
||
|
DATE_FORMAT: 'DATE_FORMAT';
|
||
|
DAYNAME: 'DAYNAME';
|
||
|
DAYOFMONTH: 'DAYOFMONTH';
|
||
|
DAYOFWEEK: 'DAYOFWEEK';
|
||
|
DAYOFYEAR: 'DAYOFYEAR';
|
||
|
DECODE: 'DECODE';
|
||
|
DEGREES: 'DEGREES';
|
||
|
DES_DECRYPT: 'DES_DECRYPT';
|
||
|
DES_ENCRYPT: 'DES_ENCRYPT';
|
||
|
DIMENSION: 'DIMENSION';
|
||
|
DISJOINT: 'DISJOINT';
|
||
|
ELT: 'ELT';
|
||
|
ENCODE: 'ENCODE';
|
||
|
ENCRYPT: 'ENCRYPT';
|
||
|
ENDPOINT: 'ENDPOINT';
|
||
|
ENGINE_ATTRIBUTE: 'ENGINE_ATTRIBUTE';
|
||
|
ENVELOPE: 'ENVELOPE';
|
||
|
EQUALS: 'EQUALS';
|
||
|
EXP: 'EXP';
|
||
|
EXPORT_SET: 'EXPORT_SET';
|
||
|
EXTERIORRING: 'EXTERIORRING';
|
||
|
EXTRACTVALUE: 'EXTRACTVALUE';
|
||
|
FIELD: 'FIELD';
|
||
|
FIND_IN_SET: 'FIND_IN_SET';
|
||
|
FLOOR: 'FLOOR';
|
||
|
FORMAT: 'FORMAT';
|
||
|
FOUND_ROWS: 'FOUND_ROWS';
|
||
|
FROM_BASE64: 'FROM_BASE64';
|
||
|
FROM_DAYS: 'FROM_DAYS';
|
||
|
FROM_UNIXTIME: 'FROM_UNIXTIME';
|
||
|
GEOMCOLLFROMTEXT: 'GEOMCOLLFROMTEXT';
|
||
|
GEOMCOLLFROMWKB: 'GEOMCOLLFROMWKB';
|
||
|
GEOMETRYCOLLECTIONFROMTEXT: 'GEOMETRYCOLLECTIONFROMTEXT';
|
||
|
GEOMETRYCOLLECTIONFROMWKB: 'GEOMETRYCOLLECTIONFROMWKB';
|
||
|
GEOMETRYFROMTEXT: 'GEOMETRYFROMTEXT';
|
||
|
GEOMETRYFROMWKB: 'GEOMETRYFROMWKB';
|
||
|
GEOMETRYN: 'GEOMETRYN';
|
||
|
GEOMETRYTYPE: 'GEOMETRYTYPE';
|
||
|
GEOMFROMTEXT: 'GEOMFROMTEXT';
|
||
|
GEOMFROMWKB: 'GEOMFROMWKB';
|
||
|
GET_FORMAT: 'GET_FORMAT';
|
||
|
GET_LOCK: 'GET_LOCK';
|
||
|
GLENGTH: 'GLENGTH';
|
||
|
GREATEST: 'GREATEST';
|
||
|
GTID_SUBSET: 'GTID_SUBSET';
|
||
|
GTID_SUBTRACT: 'GTID_SUBTRACT';
|
||
|
HEX: 'HEX';
|
||
|
IFNULL: 'IFNULL';
|
||
|
INET6_ATON: 'INET6_ATON';
|
||
|
INET6_NTOA: 'INET6_NTOA';
|
||
|
INET_ATON: 'INET_ATON';
|
||
|
INET_NTOA: 'INET_NTOA';
|
||
|
INSTR: 'INSTR';
|
||
|
INTERIORRINGN: 'INTERIORRINGN';
|
||
|
INTERSECTS: 'INTERSECTS';
|
||
|
ISCLOSED: 'ISCLOSED';
|
||
|
ISEMPTY: 'ISEMPTY';
|
||
|
ISNULL: 'ISNULL';
|
||
|
ISSIMPLE: 'ISSIMPLE';
|
||
|
IS_FREE_LOCK: 'IS_FREE_LOCK';
|
||
|
IS_IPV4: 'IS_IPV4';
|
||
|
IS_IPV4_COMPAT: 'IS_IPV4_COMPAT';
|
||
|
IS_IPV4_MAPPED: 'IS_IPV4_MAPPED';
|
||
|
IS_IPV6: 'IS_IPV6';
|
||
|
IS_USED_LOCK: 'IS_USED_LOCK';
|
||
|
LAST_INSERT_ID: 'LAST_INSERT_ID';
|
||
|
LCASE: 'LCASE';
|
||
|
LEAST: 'LEAST';
|
||
|
LENGTH: 'LENGTH';
|
||
|
LINEFROMTEXT: 'LINEFROMTEXT';
|
||
|
LINEFROMWKB: 'LINEFROMWKB';
|
||
|
LINESTRINGFROMTEXT: 'LINESTRINGFROMTEXT';
|
||
|
LINESTRINGFROMWKB: 'LINESTRINGFROMWKB';
|
||
|
LN: 'LN';
|
||
|
LOAD_FILE: 'LOAD_FILE';
|
||
|
LOCATE: 'LOCATE';
|
||
|
LOG: 'LOG';
|
||
|
LOG10: 'LOG10';
|
||
|
LOG2: 'LOG2';
|
||
|
LOWER: 'LOWER';
|
||
|
LPAD: 'LPAD';
|
||
|
LTRIM: 'LTRIM';
|
||
|
MAKEDATE: 'MAKEDATE';
|
||
|
MAKETIME: 'MAKETIME';
|
||
|
MAKE_SET: 'MAKE_SET';
|
||
|
MASTER_POS_WAIT: 'MASTER_POS_WAIT';
|
||
|
MBRCONTAINS: 'MBRCONTAINS';
|
||
|
MBRDISJOINT: 'MBRDISJOINT';
|
||
|
MBREQUAL: 'MBREQUAL';
|
||
|
MBRINTERSECTS: 'MBRINTERSECTS';
|
||
|
MBROVERLAPS: 'MBROVERLAPS';
|
||
|
MBRTOUCHES: 'MBRTOUCHES';
|
||
|
MBRWITHIN: 'MBRWITHIN';
|
||
|
MD5: 'MD5';
|
||
|
MLINEFROMTEXT: 'MLINEFROMTEXT';
|
||
|
MLINEFROMWKB: 'MLINEFROMWKB';
|
||
|
MONTHNAME: 'MONTHNAME';
|
||
|
MPOINTFROMTEXT: 'MPOINTFROMTEXT';
|
||
|
MPOINTFROMWKB: 'MPOINTFROMWKB';
|
||
|
MPOLYFROMTEXT: 'MPOLYFROMTEXT';
|
||
|
MPOLYFROMWKB: 'MPOLYFROMWKB';
|
||
|
MULTILINESTRINGFROMTEXT: 'MULTILINESTRINGFROMTEXT';
|
||
|
MULTILINESTRINGFROMWKB: 'MULTILINESTRINGFROMWKB';
|
||
|
MULTIPOINTFROMTEXT: 'MULTIPOINTFROMTEXT';
|
||
|
MULTIPOINTFROMWKB: 'MULTIPOINTFROMWKB';
|
||
|
MULTIPOLYGONFROMTEXT: 'MULTIPOLYGONFROMTEXT';
|
||
|
MULTIPOLYGONFROMWKB: 'MULTIPOLYGONFROMWKB';
|
||
|
NAME_CONST: 'NAME_CONST';
|
||
|
NULLIF: 'NULLIF';
|
||
|
NUMGEOMETRIES: 'NUMGEOMETRIES';
|
||
|
NUMINTERIORRINGS: 'NUMINTERIORRINGS';
|
||
|
NUMPOINTS: 'NUMPOINTS';
|
||
|
OCT: 'OCT';
|
||
|
OCTET_LENGTH: 'OCTET_LENGTH';
|
||
|
ORD: 'ORD';
|
||
|
OVERLAPS: 'OVERLAPS';
|
||
|
PERIOD_ADD: 'PERIOD_ADD';
|
||
|
PERIOD_DIFF: 'PERIOD_DIFF';
|
||
|
PI: 'PI';
|
||
|
POINTFROMTEXT: 'POINTFROMTEXT';
|
||
|
POINTFROMWKB: 'POINTFROMWKB';
|
||
|
POINTN: 'POINTN';
|
||
|
POLYFROMTEXT: 'POLYFROMTEXT';
|
||
|
POLYFROMWKB: 'POLYFROMWKB';
|
||
|
POLYGONFROMTEXT: 'POLYGONFROMTEXT';
|
||
|
POLYGONFROMWKB: 'POLYGONFROMWKB';
|
||
|
POW: 'POW';
|
||
|
POWER: 'POWER';
|
||
|
QUOTE: 'QUOTE';
|
||
|
RADIANS: 'RADIANS';
|
||
|
RAND: 'RAND';
|
||
|
RANDOM: 'RANDOM';
|
||
|
RANDOM_BYTES: 'RANDOM_BYTES';
|
||
|
RELEASE_LOCK: 'RELEASE_LOCK';
|
||
|
REVERSE: 'REVERSE';
|
||
|
ROUND: 'ROUND';
|
||
|
ROW_COUNT: 'ROW_COUNT';
|
||
|
RPAD: 'RPAD';
|
||
|
RTRIM: 'RTRIM';
|
||
|
SEC_TO_TIME: 'SEC_TO_TIME';
|
||
|
SECONDARY_ENGINE_ATTRIBUTE: 'SECONDARY_ENGINE_ATTRIBUTE';
|
||
|
SESSION_USER: 'SESSION_USER';
|
||
|
SHA: 'SHA';
|
||
|
SHA1: 'SHA1';
|
||
|
SHA2: 'SHA2';
|
||
|
SCHEMA_NAME: 'SCHEMA_NAME';
|
||
|
SIGN: 'SIGN';
|
||
|
SIN: 'SIN';
|
||
|
SLEEP: 'SLEEP';
|
||
|
SOUNDEX: 'SOUNDEX';
|
||
|
SQL_THREAD_WAIT_AFTER_GTIDS: 'SQL_THREAD_WAIT_AFTER_GTIDS';
|
||
|
SQRT: 'SQRT';
|
||
|
SRID: 'SRID';
|
||
|
STARTPOINT: 'STARTPOINT';
|
||
|
STRCMP: 'STRCMP';
|
||
|
STR_TO_DATE: 'STR_TO_DATE';
|
||
|
ST_AREA: 'ST_AREA';
|
||
|
ST_ASBINARY: 'ST_ASBINARY';
|
||
|
ST_ASTEXT: 'ST_ASTEXT';
|
||
|
ST_ASWKB: 'ST_ASWKB';
|
||
|
ST_ASWKT: 'ST_ASWKT';
|
||
|
ST_BUFFER: 'ST_BUFFER';
|
||
|
ST_CENTROID: 'ST_CENTROID';
|
||
|
ST_CONTAINS: 'ST_CONTAINS';
|
||
|
ST_CROSSES: 'ST_CROSSES';
|
||
|
ST_DIFFERENCE: 'ST_DIFFERENCE';
|
||
|
ST_DIMENSION: 'ST_DIMENSION';
|
||
|
ST_DISJOINT: 'ST_DISJOINT';
|
||
|
ST_DISTANCE: 'ST_DISTANCE';
|
||
|
ST_ENDPOINT: 'ST_ENDPOINT';
|
||
|
ST_ENVELOPE: 'ST_ENVELOPE';
|
||
|
ST_EQUALS: 'ST_EQUALS';
|
||
|
ST_EXTERIORRING: 'ST_EXTERIORRING';
|
||
|
ST_GEOMCOLLFROMTEXT: 'ST_GEOMCOLLFROMTEXT';
|
||
|
ST_GEOMCOLLFROMTXT: 'ST_GEOMCOLLFROMTXT';
|
||
|
ST_GEOMCOLLFROMWKB: 'ST_GEOMCOLLFROMWKB';
|
||
|
ST_GEOMETRYCOLLECTIONFROMTEXT: 'ST_GEOMETRYCOLLECTIONFROMTEXT';
|
||
|
ST_GEOMETRYCOLLECTIONFROMWKB: 'ST_GEOMETRYCOLLECTIONFROMWKB';
|
||
|
ST_GEOMETRYFROMTEXT: 'ST_GEOMETRYFROMTEXT';
|
||
|
ST_GEOMETRYFROMWKB: 'ST_GEOMETRYFROMWKB';
|
||
|
ST_GEOMETRYN: 'ST_GEOMETRYN';
|
||
|
ST_GEOMETRYTYPE: 'ST_GEOMETRYTYPE';
|
||
|
ST_GEOMFROMTEXT: 'ST_GEOMFROMTEXT';
|
||
|
ST_GEOMFROMWKB: 'ST_GEOMFROMWKB';
|
||
|
ST_INTERIORRINGN: 'ST_INTERIORRINGN';
|
||
|
ST_INTERSECTION: 'ST_INTERSECTION';
|
||
|
ST_INTERSECTS: 'ST_INTERSECTS';
|
||
|
ST_ISCLOSED: 'ST_ISCLOSED';
|
||
|
ST_ISEMPTY: 'ST_ISEMPTY';
|
||
|
ST_ISSIMPLE: 'ST_ISSIMPLE';
|
||
|
ST_LINEFROMTEXT: 'ST_LINEFROMTEXT';
|
||
|
ST_LINEFROMWKB: 'ST_LINEFROMWKB';
|
||
|
ST_LINESTRINGFROMTEXT: 'ST_LINESTRINGFROMTEXT';
|
||
|
ST_LINESTRINGFROMWKB: 'ST_LINESTRINGFROMWKB';
|
||
|
ST_NUMGEOMETRIES: 'ST_NUMGEOMETRIES';
|
||
|
ST_NUMINTERIORRING: 'ST_NUMINTERIORRING';
|
||
|
ST_NUMINTERIORRINGS: 'ST_NUMINTERIORRINGS';
|
||
|
ST_NUMPOINTS: 'ST_NUMPOINTS';
|
||
|
ST_OVERLAPS: 'ST_OVERLAPS';
|
||
|
ST_POINTFROMTEXT: 'ST_POINTFROMTEXT';
|
||
|
ST_POINTFROMWKB: 'ST_POINTFROMWKB';
|
||
|
ST_POINTN: 'ST_POINTN';
|
||
|
ST_POLYFROMTEXT: 'ST_POLYFROMTEXT';
|
||
|
ST_POLYFROMWKB: 'ST_POLYFROMWKB';
|
||
|
ST_POLYGONFROMTEXT: 'ST_POLYGONFROMTEXT';
|
||
|
ST_POLYGONFROMWKB: 'ST_POLYGONFROMWKB';
|
||
|
ST_SRID: 'ST_SRID';
|
||
|
ST_STARTPOINT: 'ST_STARTPOINT';
|
||
|
ST_SYMDIFFERENCE: 'ST_SYMDIFFERENCE';
|
||
|
ST_TOUCHES: 'ST_TOUCHES';
|
||
|
ST_UNION: 'ST_UNION';
|
||
|
ST_WITHIN: 'ST_WITHIN';
|
||
|
ST_X: 'ST_X';
|
||
|
ST_Y: 'ST_Y';
|
||
|
SUBDATE: 'SUBDATE';
|
||
|
SUBSTRING_INDEX: 'SUBSTRING_INDEX';
|
||
|
SUBTIME: 'SUBTIME';
|
||
|
SYSTEM_USER: 'SYSTEM_USER';
|
||
|
TAN: 'TAN';
|
||
|
TIMEDIFF: 'TIMEDIFF';
|
||
|
TIMESTAMPADD: 'TIMESTAMPADD';
|
||
|
TIMESTAMPDIFF: 'TIMESTAMPDIFF';
|
||
|
TIME_FORMAT: 'TIME_FORMAT';
|
||
|
TIME_TO_SEC: 'TIME_TO_SEC';
|
||
|
TOUCHES: 'TOUCHES';
|
||
|
TO_BASE64: 'TO_BASE64';
|
||
|
TO_DAYS: 'TO_DAYS';
|
||
|
TO_SECONDS: 'TO_SECONDS';
|
||
|
TP_CONNECTION_ADMIN: 'TP_CONNECTION_ADMIN';
|
||
|
UCASE: 'UCASE';
|
||
|
UNCOMPRESS: 'UNCOMPRESS';
|
||
|
UNCOMPRESSED_LENGTH: 'UNCOMPRESSED_LENGTH';
|
||
|
UNHEX: 'UNHEX';
|
||
|
UNIX_TIMESTAMP: 'UNIX_TIMESTAMP';
|
||
|
UPDATEXML: 'UPDATEXML';
|
||
|
UPPER: 'UPPER';
|
||
|
UUID: 'UUID';
|
||
|
UUID_SHORT: 'UUID_SHORT';
|
||
|
VALIDATE_PASSWORD_STRENGTH: 'VALIDATE_PASSWORD_STRENGTH';
|
||
|
VERSION: 'VERSION';
|
||
|
WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS: 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS';
|
||
|
WEEKDAY: 'WEEKDAY';
|
||
|
WEEKOFYEAR: 'WEEKOFYEAR';
|
||
|
WEIGHT_STRING: 'WEIGHT_STRING';
|
||
|
WITHIN: 'WITHIN';
|
||
|
YEARWEEK: 'YEARWEEK';
|
||
|
Y_FUNCTION: 'Y';
|
||
|
X_FUNCTION: 'X';
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
// Operators
|
||
|
// Operators. Assigns
|
||
|
|
||
|
VAR_ASSIGN: ':=';
|
||
|
PLUS_ASSIGN: '+=';
|
||
|
MINUS_ASSIGN: '-=';
|
||
|
MULT_ASSIGN: '*=';
|
||
|
DIV_ASSIGN: '/=';
|
||
|
MOD_ASSIGN: '%=';
|
||
|
AND_ASSIGN: '&=';
|
||
|
XOR_ASSIGN: '^=';
|
||
|
OR_ASSIGN: '|=';
|
||
|
|
||
|
|
||
|
// Operators. Arithmetics
|
||
|
|
||
|
STAR: '*';
|
||
|
DIVIDE: '/';
|
||
|
MODULE: '%';
|
||
|
PLUS: '+';
|
||
|
MINUS: '-';
|
||
|
DIV: 'DIV';
|
||
|
MOD: 'MOD';
|
||
|
|
||
|
|
||
|
// Operators. Comparation
|
||
|
|
||
|
EQUAL_SYMBOL: '=';
|
||
|
GREATER_SYMBOL: '>';
|
||
|
LESS_SYMBOL: '<';
|
||
|
EXCLAMATION_SYMBOL: '!';
|
||
|
|
||
|
|
||
|
// Operators. Bit
|
||
|
|
||
|
BIT_NOT_OP: '~';
|
||
|
BIT_OR_OP: '|';
|
||
|
BIT_AND_OP: '&';
|
||
|
BIT_XOR_OP: '^';
|
||
|
|
||
|
|
||
|
// Constructors symbols
|
||
|
|
||
|
DOT: '.';
|
||
|
LR_BRACKET: '(';
|
||
|
RR_BRACKET: ')';
|
||
|
COMMA: ',';
|
||
|
SEMI: ';';
|
||
|
AT_SIGN: '@';
|
||
|
ZERO_DECIMAL: '0';
|
||
|
ONE_DECIMAL: '1';
|
||
|
TWO_DECIMAL: '2';
|
||
|
SINGLE_QUOTE_SYMB: '\'';
|
||
|
DOUBLE_QUOTE_SYMB: '"';
|
||
|
REVERSE_QUOTE_SYMB: '`';
|
||
|
COLON_SYMB: ':';
|
||
|
|
||
|
fragment QUOTE_SYMB
|
||
|
: SINGLE_QUOTE_SYMB | DOUBLE_QUOTE_SYMB | REVERSE_QUOTE_SYMB
|
||
|
;
|
||
|
|
||
|
|
||
|
|
||
|
// Charsets
|
||
|
|
||
|
CHARSET_REVERSE_QOUTE_STRING: '`' CHARSET_NAME '`';
|
||
|
|
||
|
|
||
|
|
||
|
// File's sizes
|
||
|
|
||
|
|
||
|
FILESIZE_LITERAL: DEC_DIGIT+ ('K'|'M'|'G'|'T');
|
||
|
|
||
|
|
||
|
|
||
|
// Literal Primitives
|
||
|
|
||
|
|
||
|
START_NATIONAL_STRING_LITERAL: 'N' SQUOTA_STRING;
|
||
|
STRING_LITERAL: DQUOTA_STRING | SQUOTA_STRING | BQUOTA_STRING;
|
||
|
DECIMAL_LITERAL: DEC_DIGIT+;
|
||
|
HEXADECIMAL_LITERAL: 'X' '\'' (HEX_DIGIT HEX_DIGIT)+ '\''
|
||
|
| '0X' HEX_DIGIT+;
|
||
|
|
||
|
REAL_LITERAL: (DEC_DIGIT+)? '.' DEC_DIGIT+
|
||
|
| DEC_DIGIT+ '.' EXPONENT_NUM_PART
|
||
|
| (DEC_DIGIT+)? '.' (DEC_DIGIT+ EXPONENT_NUM_PART)
|
||
|
| DEC_DIGIT+ EXPONENT_NUM_PART;
|
||
|
NULL_SPEC_LITERAL: '\\' 'N';
|
||
|
BIT_STRING: BIT_STRING_L;
|
||
|
STRING_CHARSET_NAME: '_' CHARSET_NAME;
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
// Hack for dotID
|
||
|
// Prevent recognize string: .123somelatin AS ((.123), FLOAT_LITERAL), ((somelatin), ID)
|
||
|
// it must recoginze: .123somelatin AS ((.), DOT), (123somelatin, ID)
|
||
|
|
||
|
DOT_ID: '.' ID_LITERAL;
|
||
|
|
||
|
|
||
|
|
||
|
// Identifiers
|
||
|
|
||
|
ID: ID_LITERAL;
|
||
|
// DOUBLE_QUOTE_ID: '"' ~'"'+ '"';
|
||
|
REVERSE_QUOTE_ID: BQUOTA_STRING;
|
||
|
STRING_USER_NAME: (
|
||
|
SQUOTA_STRING | DQUOTA_STRING
|
||
|
| BQUOTA_STRING | ID_LITERAL
|
||
|
) '@'
|
||
|
(
|
||
|
SQUOTA_STRING | DQUOTA_STRING
|
||
|
| BQUOTA_STRING | ID_LITERAL
|
||
|
| IP_ADDRESS
|
||
|
);
|
||
|
IP_ADDRESS: (
|
||
|
[0-9]+ '.' [0-9.]+
|
||
|
| [0-9A-F]* ':' [0-9A-F]* ':' [0-9A-F:]+
|
||
|
);
|
||
|
LOCAL_ID: '@'
|
||
|
(
|
||
|
[A-Z0-9._$\u0080-\uFFFF]+
|
||
|
| SQUOTA_STRING
|
||
|
| DQUOTA_STRING
|
||
|
| BQUOTA_STRING
|
||
|
);
|
||
|
GLOBAL_ID: '@' '@'
|
||
|
(
|
||
|
[A-Z0-9._$\u0080-\uFFFF]+
|
||
|
| BQUOTA_STRING
|
||
|
);
|
||
|
|
||
|
|
||
|
// Fragments for Literal primitives
|
||
|
|
||
|
fragment CHARSET_NAME: ARMSCII8 | ASCII | BIG5 | BINARY | CP1250
|
||
|
| CP1251 | CP1256 | CP1257 | CP850
|
||
|
| CP852 | CP866 | CP932 | DEC8 | EUCJPMS
|
||
|
| EUCKR | GB2312 | GBK | GEOSTD8 | GREEK
|
||
|
| HEBREW | HP8 | KEYBCS2 | KOI8R | KOI8U
|
||
|
| LATIN1 | LATIN2 | LATIN5 | LATIN7
|
||
|
| MACCE | MACROMAN | SJIS | SWE7 | TIS620
|
||
|
| UCS2 | UJIS | UTF16 | UTF16LE | UTF32
|
||
|
| UTF8 | UTF8MB3 | UTF8MB4;
|
||
|
|
||
|
fragment EXPONENT_NUM_PART: 'E' [-+]? DEC_DIGIT+;
|
||
|
fragment ID_LITERAL: [A-Z_$0-9\u0080-\uFFFF]*?[A-Z_$\u0080-\uFFFF]+?[A-Z_$0-9\u0080-\uFFFF]*;
|
||
|
fragment DQUOTA_STRING: '"' ( '\\'. | '""' | ~('"'| '\\') )* '"';
|
||
|
fragment SQUOTA_STRING: '\'' ('\\'. | '\'\'' | ~('\'' | '\\'))* '\'';
|
||
|
fragment BQUOTA_STRING: '`' ( ~'`' | '``' )* '`';
|
||
|
fragment HEX_DIGIT: [0-9A-F];
|
||
|
fragment DEC_DIGIT: [0-9];
|
||
|
fragment BIT_STRING_L: 'B' '\'' [01]+ '\'';
|
||
|
|
||
|
|
||
|
|
||
|
// Last tokens must generate Errors
|
||
|
|
||
|
ERROR_RECONGNIGION: . -> channel(ERRORCHANNEL);
|