diff --git a/src/hivesql/hivesql.ts b/src/hivesql/hivesql.ts index bc3c9c59..1343df26 100644 --- a/src/hivesql/hivesql.ts +++ b/src/hivesql/hivesql.ts @@ -40,20 +40,14 @@ export const language = { { open: '(', close: ')', token: TokenClassConsts.DELIMITER_PAREN } ], keywords: [ - 'ADD', - 'AFTER', 'ALL', 'ALTER', - 'ANALYZE', 'AND', 'ANTI', 'ANY', 'APPLICATION', - 'ARCHIVE', 'ARRAY', 'AS', - 'ASC', - 'AT', 'AUTHORIZATION', 'BETWEEN', 'BIGINT', @@ -61,19 +55,12 @@ export const language = { 'BOOLEAN', 'BOTH', 'BY', - 'CACHE', - 'CASCADE', 'CASE', 'CAST', - 'CHANGE', 'CHAR', - 'CHECK', 'COLUMN', - 'COLUMNS', - 'COMMENT', 'COMMIT', 'COMPACTIONID', - 'COMPUTE', 'CONF', 'CONSTRAINT', 'CREATE', @@ -84,80 +71,45 @@ export const language = { 'CURRENT_TIMESTAMP', 'CURSOR', 'DATABASE', - 'DATABASES', 'CONNECTOR', 'CONNECTORS', 'DATE', - 'DBPROPERTIES', - 'DCPROPERTIES', 'DDL', - 'DEBUG', 'DEC', 'DECIMAL', 'NUMERIC', - 'DEFAULT', - 'DEFERRED', - 'DEFINED', 'DELETE', - 'DELIMITED', - 'DEPENDENCY', - 'DESC', 'DESCRIBE', - 'DIRECTORIES', - 'DIRECTORY', - 'DISABLE', 'DISTINCT', - 'DISTRIBUTE', - 'DISTRIBUTED', - 'DO', 'DOUBLE', 'DROP', 'RECOVER', - '$ELEM$', 'ELSE', - 'ENABLE', 'END', - 'ESCAPED', - 'EVERY', 'EXCEPT', 'EXCHANGE', - 'EXECUTE', - 'EXECUTED', 'EXISTS', - 'EXPLAIN', - 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', - 'FIELDS', - 'FILE', - 'FILEFORMAT', - 'FIRST', 'FLOAT', 'FLOOR', 'FOLLOWING', 'FOR', 'FORCE', 'FOREIGN', - 'FORMAT', - 'FORMATTED', 'FROM', 'FULL', 'FUNCTION', - 'FUNCTIONS', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', - 'IDXPROPERTIES', 'IF', - 'IGNORE', 'IMPORT', 'IN', - 'INDEX', - 'INDEXES', 'INNER', 'INSERT', 'INT', @@ -167,18 +119,13 @@ export const language = { 'INTO', 'IS', 'JOIN', - 'KEY', - 'KEYS', '$KEY$', 'LATERAL', 'LEADING', 'LEFT', 'LESS', 'LIKE', - 'LIMIT', - 'LOAD', 'LOCAL', - 'LOCATION', 'MACRO', 'MAP', 'MERGE', @@ -186,23 +133,16 @@ export const language = { 'MORE', 'NONE', 'NOT', - 'NOVALIDATE', 'NULL', 'OF', - 'OFFLINE', - 'OFFSET', 'ON', 'ONLY', - 'OPTION', 'OR', 'ORDER', 'OUT', 'OUTER', 'OVER', - 'OVERWRITE', 'PARTITION', - 'PARTITIONED', - 'PARTITIONS', 'PERCENT', 'PKFK_JOIN', 'PRECEDING', @@ -211,46 +151,27 @@ export const language = { 'PRESERVE', 'PRIMARY', 'PROCEDURE', - 'PURGE', 'QUALIFY', - 'QUERY', 'RANGE', - 'READ', - 'READONLY', 'READS', 'REAL', - 'REBUILD', 'REDUCE', 'REFERENCES', 'REGEXP', - 'RELOAD', - 'REMOTE', - 'RENAME', - 'REPLACE', 'REVOKE', - 'REWRITE', 'RIGHT', 'RLIKE', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', - 'SCHEMA', - 'SCHEMAS', 'SELECT', 'SET', - 'SETS', - 'SET_CURRENT_SNAPSHOT', - 'SHOW', 'SMALLINT', 'SOME', - 'SORT', - 'SORTED', 'START', - 'STRING', 'SYNC', 'TABLE', - 'TABLES', 'TABLESAMPLE', 'THEN', 'TIME', @@ -262,26 +183,63 @@ export const language = { 'TRIGGER', 'TRUE', 'TRUNCATE', - 'UNARCHIVE', 'UNBOUNDED', 'UNION', 'UNIQUE', 'UNIQUEJOIN', 'UPDATE', - 'USE', 'USER', 'USING', 'UTC_TMESTAMP', 'VALUES', - '$VALUE$', 'VARCHAR', - 'VIEW', - 'VIEWS', 'WHEN', 'WHERE', 'WINDOW', 'WITH', - 'WITHIN' + // part of non-reserved keywords which is common + 'ADD', + 'ANALYZE', + 'ASC', + 'AT', + 'CASCADE', + 'CHANGE', + 'COMMENT', + 'COMPUTE', + 'DEFAULT', + 'DESC', + 'DISABLE', + 'EVERY', + 'EXECUTE', + 'EXPLAIN', + 'FILE', + 'FILEFORMAT', + 'FORMAT', + 'FORMATTED', + 'INDEX', + 'KEY', + 'KEYS', + 'LIMIT', + 'LOAD', + 'LOCATION', + 'OFFSET', + 'OVERWRITE', + 'PARTITIONED', + 'PURGE', + 'RELOAD', + 'RENAME', + 'REPLACE', + 'REWRITE', + 'ROLE', + 'SCHEMA', + 'SHOW', + 'SORT', + 'SORTED', + 'STRING', + 'TOUCH', + 'USE', + 'UNLOCK', + 'VIEW' ], operators: [ // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-Built-inOperators diff --git a/src/impalasql/impalasql.ts b/src/impalasql/impalasql.ts index a4271cec..5f73af52 100644 --- a/src/impalasql/impalasql.ts +++ b/src/impalasql/impalasql.ts @@ -40,201 +40,133 @@ export const language = { { open: '(', close: ')', token: TokenClassConsts.DELIMITER_PAREN } ], keywords: [ - 'ADD', 'ALL', - 'ANALYTIC', 'ALTER', 'AND', - 'ANY', - 'ANTI', 'ARRAY', 'AS', - 'ASC', - 'AT', - 'AGGREGATE', - 'AUTHORIZATION', 'BETWEEN', - 'BLOCK_SIZE', - 'PARTITIONED', - 'PREPARE_FN', - 'EXTERNAL', - 'CLOSEFN', - 'SORT', - 'PURGE', - 'STORED', - 'LOCATION', - 'TBLPROPERTIES', + 'BIGINT', + 'BINARY', + 'BOOLEAN', 'BY', - 'CASCADE', 'CASE', 'CAST', - 'CACHED', - 'CHANGE', + 'CHAR', 'COLUMN', - 'COLUMNS', - 'COMMENT', - 'COMPRESSION', - 'COMPUTE', 'CREATE', 'CROSS', 'CURRENT', - 'CURRENT_DATE', - 'CURRENT_PATH', - 'CURRENT_TIME', - 'DATA', - 'DATABASE', - 'DATABASES', - 'DELETE', + 'DATE', + 'DECIMAL', 'DEFAULT', - 'DELIMITED', - 'DISABLE', - 'UPDATE', - 'DESC', + 'DELETE', 'DESCRIBE', 'DISTINCT', + 'DOUBLE', 'DROP', 'ELSE', - 'ENCODING', 'END', - 'ESCAPE', - 'ESCAPED', - 'EXCEPT', 'EXISTS', - 'EXPLAIN', - 'EXTENDED', + 'EXTERNAL', 'FALSE', - 'FIELDS', - 'FILEFORMAT', - 'FILES', - 'FILTER', - 'FIRST', - 'FINALIZE_FN', - 'FOLLOWING', + 'FLOAT', 'FOR', - 'FORMAT', - 'FORMATTED', - 'FOREIGN', 'FROM', 'FULL', 'FUNCTION', - 'FUNCTIONS', 'GRANT', 'GROUP', - 'GROUPING', - 'HASH', 'HAVING', - 'HOURS', - 'IF', 'IN', - 'INCREMENTAL', 'INNER', - 'INPATH', 'INSERT', - 'INTERSECT', + 'INT', + 'INTEGER', 'INTERVAL', - 'INTERMEDIATE', 'INTO', - 'INIT_FN', - 'IREGEXP', - 'ILIKE', - 'INVALIDATE', 'IS', 'JOIN', - 'KUDU', - 'LAST', - 'LATERAL', 'LEFT', 'LIKE', - 'LIMIT', - 'LINES', - 'LOAD', - 'LOCALTIMESTAMP', - 'METADATA', - 'MAP', - 'MERGE_FN', - 'NORMALIZE', 'NOT', 'NULL', - 'NULLS', 'OFFSET', 'ON', 'OR', 'ORDER', 'OUTER', - 'OWNER', 'OVER', - 'OVERWRITE', 'PARTITION', - 'PARTITIONS', - 'PARQUET', - 'POSITION', - 'PRECEDING', 'PRIMARY', - 'REPLICATION', 'RANGE', - 'RECOVER', - 'RENAME', - 'REPEATABLE', - 'REPLACE', - 'RESTRICT', + 'REAL', 'RETURNS', 'REVOKE', - 'REFRESH', - 'REGEXP', - 'RLIKE', 'RIGHT', - 'ROLE', - 'ROLES', 'ROW', 'ROWS', - 'SCHEMA', - 'SCHEMAS', 'SELECT', - 'SERDEPROPERTIES', 'SET', - 'SEMI', - 'SERVER', 'SHOW', - 'SOME', - 'STATS', - 'STRUCT', - 'STRAIGHT_JOIN', - 'SYMBOL', - 'SERIALIZE_FN', + 'SMALLINT', 'TABLE', - 'TABLES', 'TABLESAMPLE', - 'TERMINATED ', 'THEN', + 'TIMESTAMP', 'TO', 'TRUE', 'TRUNCATE', - 'UNCACHED', - 'UESCAPE', - 'UNBOUNDED', 'UNION', - 'UNNEST', - 'UNSET', - 'USE', - 'USING', - 'UPDATE_FN', - 'UPSERT', 'UNKNOWN', - 'URI', - 'VALUE', + 'UPDATE', + 'USING', 'VALUES', - 'VIEW', + 'VARCHAR', 'WHEN', 'WHERE', 'WITH', - 'YEARS', - 'TEXTFILE', - 'AVRO', - 'SEQUENCEFILE', - 'RCFILE', - 'REFERENCES', - 'NOVALIDATE', - 'RELY' + // part of non-reserved keywords which is common + 'ADD', + 'AGGREGATE', + 'ASC', + 'COMMENT', + 'COMPUTE', + 'DATABASE', + 'DESC', + 'EXPLAIN', + 'IF', + 'ILIKE', + 'INCREMENTAL', + 'INDEX', + 'IREGEXP', + 'KEY', + 'KUDU', + 'LIMIT', + 'LOAD', + 'LOCATION', + 'OVERWRITE', + 'PARTITIONED', + 'PARTITIONS', + 'POSITION', + 'POWER', + 'PURGE', + 'RECOVER', + 'REFRESH', + 'REGEXP', + 'RENAME', + 'REPLACE', + 'RLIKE', + 'ROLE', + 'SCHEMA', + 'SHUTDOWN', + 'SORT', + 'STORED', + 'UPPER', + 'UPSERT', + 'USE', + 'VALUE', + 'VIEW' ], operators: [ // https://impala.apache.org/docs/build/html/topics/impala_operators.html diff --git a/src/mysql/mysql.test.ts b/src/mysql/mysql.test.ts index b72924e1..b4b632d3 100644 --- a/src/mysql/mysql.test.ts +++ b/src/mysql/mysql.test.ts @@ -31,7 +31,7 @@ testTokenization('mysql', [ { startIndex: 7, type: postfixTokenClass(TokenClassConsts.WHITE) }, { startIndex: 8, type: postfixTokenClass(TokenClassConsts.IDENTIFIER) }, { startIndex: 9, type: postfixTokenClass(TokenClassConsts.WHITE) }, - { startIndex: 10, type: postfixTokenClass(TokenClassConsts.IDENTIFIER) } + { startIndex: 10, type: postfixTokenClass(TokenClassConsts.KEYWORD) } ] } ], diff --git a/src/mysql/mysql.ts b/src/mysql/mysql.ts index aa3d9800..4e61ecf3 100644 --- a/src/mysql/mysql.ts +++ b/src/mysql/mysql.ts @@ -304,7 +304,18 @@ export const language = { 'WRITE', 'XOR', 'YEAR_MONTH', - 'ZEROFILL' + 'ZEROFILL', + + // part of non-reserved keywords which is common + 'COMMENT', + 'PARTITIONS', + 'PREPARE', + 'REMOVE', + 'REPAIR', + 'RESET', + 'ROLE', + 'STOP', + 'VIEW' ], // https://dev.mysql.com/doc/refman/8.0/en/non-typed-operators.html operators: [ diff --git a/src/pgsql/pgsql.test.ts b/src/pgsql/pgsql.test.ts index 00376502..48df8845 100644 --- a/src/pgsql/pgsql.test.ts +++ b/src/pgsql/pgsql.test.ts @@ -31,7 +31,7 @@ testTokenization('pgsql', [ { startIndex: 7, type: postfixTokenClass(TokenClassConsts.WHITE) }, { startIndex: 8, type: postfixTokenClass(TokenClassConsts.IDENTIFIER) }, { startIndex: 9, type: postfixTokenClass(TokenClassConsts.WHITE) }, - { startIndex: 10, type: postfixTokenClass(TokenClassConsts.IDENTIFIER) } + { startIndex: 10, type: postfixTokenClass(TokenClassConsts.KEYWORD) } ] } ], @@ -538,7 +538,7 @@ testTokenization('pgsql', [ { line: 'SET @x=@x+1', tokens: [ - { startIndex: 0, type: postfixTokenClass(TokenClassConsts.IDENTIFIER) }, + { startIndex: 0, type: postfixTokenClass(TokenClassConsts.KEYWORD) }, { startIndex: 3, type: postfixTokenClass(TokenClassConsts.WHITE) }, { startIndex: 4, type: postfixTokenClass(TokenClassConsts.IDENTIFIER) }, { startIndex: 6, type: postfixTokenClass(TokenClassConsts.OPERATOR_SYMBOL) }, diff --git a/src/pgsql/pgsql.ts b/src/pgsql/pgsql.ts index 952e8689..82b0e958 100644 --- a/src/pgsql/pgsql.ts +++ b/src/pgsql/pgsql.ts @@ -143,7 +143,66 @@ export const language = { 'WHEN', 'WHERE', 'WINDOW', - 'WITH' + 'WITH', + // part of non-reserved keywords which is common + 'ADD', + 'AGGREGATE', + 'BY', + 'CLUSTER', + 'COMMENT', + 'DATABASE', + 'DELETE', + 'DROP', + 'EXECUTE', + 'EXPLAIN', + 'FUNCTION', + 'GRANTED', + 'IF', + 'INDEX', + 'INSERT', + 'KEY', + 'LOAD', + 'LOCATION', + 'LOCK', + 'LOCKED', + 'LOGGED', + 'MATCH', + 'MOVE', + 'PARTITION', + 'PREPARE', + 'PRIVILEGES', + 'RANGE', + 'READ', + 'REASSIGN', + 'REFERENCING', + 'REFRESH', + 'REINDEX', + 'RELATIVE', + 'RELEASE', + 'RENAME', + 'REPLACE', + 'RESET', + 'RETURNS', + 'REVOKE', + 'ROLE', + 'ROLLBACK', + 'ROLLUP', + 'ROUTINE', + 'ROWS', + 'RULE', + 'SCHEMA', + 'SEARCH', + 'SET', + 'SHOW', + 'STORED', + 'SUBSCRIPTION', + 'TABLES', + 'TRANSACTION', + 'TRIGGER', + 'TRUNCATE', + 'UPDATE', + 'VALUE', + 'VIEW' ], operators: [ // Logical Operators: https://www.postgresql.org/docs/16/functions-logical.html diff --git a/src/trinosql/trinosql.ts b/src/trinosql/trinosql.ts index ed25e047..eaa43d7a 100644 --- a/src/trinosql/trinosql.ts +++ b/src/trinosql/trinosql.ts @@ -39,33 +39,17 @@ export const language = { { open: '{', close: '}', token: TokenClassConsts.DELIMITER_CURLY } ], keywords: [ - 'ADD', - 'AFTER', - 'ALL', 'ALTER', - 'ANALYZE', 'AND', - 'ANY', - 'ARRAY', 'AS', - 'ASC', - 'AT', 'BETWEEN', 'BY', - 'CASCADE', 'CASE', 'CAST', - 'CATALOGS', - 'COLUMN', - 'COLUMNS', - 'COMMENT', - 'COMMIT', - 'COMMITTED', 'CONSTRAINT', 'CREATE', 'CROSS', 'CUBE', - 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_PATH', @@ -74,16 +58,10 @@ export const language = { 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', - 'DEFAULT', 'DEALLOCATE', - 'DEFINER', 'DELETE', - 'DESC', 'DESCRIBE', - 'DEFINE', 'DISTINCT', - 'DISTRIBUTED', - 'DOUBLE', 'DROP', 'ELSE', 'END', @@ -91,23 +69,14 @@ export const language = { 'EXCEPT', 'EXECUTE', 'EXISTS', - 'EXPLAIN', 'EXTRACT', 'FALSE', 'FOR', - 'FORMAT', 'FROM', 'FULL', - 'FUNCTIONS', - 'GRANT', - 'GRANTED', - 'GRANTS', 'GROUP', 'GROUPING', - 'GROUPS', 'HAVING', - 'IF', - 'IGNORE', 'IN', 'INNER', 'INSERT', @@ -117,70 +86,72 @@ export const language = { 'JOIN', 'LEFT', 'LIKE', - 'LIMIT', - 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', - 'MERGE', 'NATURAL', 'NORMALIZE', 'NOT', 'NULL', - 'NULLIF', - 'NULLS', - 'OFFSET', - 'OMIT', 'ON', - 'ONLY', - 'OPTION', 'OR', 'ORDER', 'OUTER', - 'OVER', - 'PARTITION', - 'PARTITIONS', - 'POSITION', 'PREPARE', 'RECURSIVE', - 'REFRESH', - 'RENAME', - 'RESET', - 'REVOKE', 'RIGHT', 'ROLLUP', - 'ROW', - 'ROWS', - 'RUNNING', - 'SCHEMA', - 'SCHEMAS', 'SELECT', - 'SET', - 'SETS', - 'SHOW', - 'SOME', - 'START', - 'STATS', 'TABLE', - 'TABLES', - 'TABLESAMPLE', 'THEN', - 'TIMESTAMP', - 'TO', - 'TRUNCATE', 'TRUE', 'UESCAPE', 'UNION', 'UNNEST', - 'UPDATE', - 'USE', 'USING', - 'VALIDATE', 'VALUES', - 'VIEW', 'WHEN', 'WHERE', 'WITH', - 'WITHOUT' + // part of non-reserved keywords which is common + 'ADD', + 'ALL', + 'ANALYZE', + 'ASC', + 'CASCADE', + 'COLUMN', + 'COMMENT', + 'DEFAULT', + 'DENY', + 'DESC', + 'EXPLAIN', + 'FETCH', + 'FORMAT', + 'GRANT', + 'GRANTED', + 'IF', + 'INTERVAL', + 'LIMIT', + 'MERGE', + 'OFFSET', + 'ONLY', + 'PARTITION', + 'RANGE', + 'READ', + 'REFRESH', + 'RENAME', + 'REVOKE', + 'REPLACE', + 'RESET', + 'ROLE', + 'ROW', + 'SCHEMA', + 'SET', + 'SHOW', + 'STATS', + 'TO', + 'UPDATE', + 'USE', + 'VIEW' ], operators: [ // set