diff options
Diffstat (limited to 'exec/java-exec/src/main/codegen/data/Parser.tdd')
-rw-r--r-- | exec/java-exec/src/main/codegen/data/Parser.tdd | 763 |
1 files changed, 761 insertions, 2 deletions
diff --git a/exec/java-exec/src/main/codegen/data/Parser.tdd b/exec/java-exec/src/main/codegen/data/Parser.tdd index 9da80af2b..820ecb5b5 100644 --- a/exec/java-exec/src/main/codegen/data/Parser.tdd +++ b/exec/java-exec/src/main/codegen/data/Parser.tdd @@ -88,8 +88,767 @@ ] # List of keywords from "keywords" section that are not reserved. - nonReservedKeywords: [ - ] + # Copied from calcite-core config.fmpp + # For details please see comment under CALCITE-2405. + nonReservedKeywords: [ + "A" + "ABSOLUTE" + "ACTION" + "ADA" + "ADD" + "ADMIN" + "AFTER" + "ALWAYS" + "APPLY" + "ASC" + "ASSERTION" + "ASSIGNMENT" + "ATTRIBUTE" + "ATTRIBUTES" + "BEFORE" + "BERNOULLI" + "BREADTH" + "C" + "CASCADE" + "CATALOG" + "CATALOG_NAME" + "CENTURY" + "CHAIN" + "CHARACTER_SET_CATALOG" + "CHARACTER_SET_NAME" + "CHARACTER_SET_SCHEMA" + "CHARACTERISTICS" + "CHARACTERS" + "CLASS_ORIGIN" + "COBOL" + "COLLATION" + "COLLATION_CATALOG" + "COLLATION_NAME" + "COLLATION_SCHEMA" + "COLUMN_NAME" + "COMMAND_FUNCTION" + "COMMAND_FUNCTION_CODE" + "COMMITTED" + "CONDITION_NUMBER" + "CONNECTION" + "CONNECTION_NAME" + "CONSTRAINT_CATALOG" + "CONSTRAINT_NAME" + "CONSTRAINT_SCHEMA" + "CONSTRAINTS" + "CONSTRUCTOR" + "CONTINUE" + "CURSOR_NAME" + "DATA" + "DATABASE" + "DATETIME_INTERVAL_CODE" + "DATETIME_INTERVAL_PRECISION" + "DECADE" + "DEFAULTS" + "DEFERRABLE" + "DEFERRED" + "DEFINED" + "DEFINER" + "DEGREE" + "DEPTH" + "DERIVED" + "DESC" + "DESCRIPTION" + "DESCRIPTOR" + "DIAGNOSTICS" + "DISPATCH" + "DOMAIN" + "DOW" + "DOY" + "DYNAMIC_FUNCTION" + "DYNAMIC_FUNCTION_CODE" + "EPOCH" + "EXCEPTION" + "EXCLUDE" + "EXCLUDING" + "FINAL" + "FIRST" + "FOLLOWING" + "FORTRAN" + "FOUND" + "FRAC_SECOND" + "G" + "GENERAL" + "GENERATED" + "GEOMETRY" + "GO" + "GOTO" + "GRANTED" + "HIERARCHY" + "IMMEDIATE" + "IMMEDIATELY" + "IMPLEMENTATION" + "INCLUDING" + "INCREMENT" + "INITIALLY" + "INPUT" + "INSTANCE" + "INSTANTIABLE" + "INVOKER" + "ISODOW" + "ISOYEAR" + "ISOLATION" + "JAVA" + "JSON" + "K" + "KEY" + "KEY_MEMBER" + "KEY_TYPE" + "LABEL" + "LAST" + "LENGTH" + "LEVEL" + "LIBRARY" + "LOCATOR" + "M" + "MAP" + "MATCHED" + "MAXVALUE" + "MICROSECOND" + "MESSAGE_LENGTH" + "MESSAGE_OCTET_LENGTH" + "MESSAGE_TEXT" + "MILLISECOND" + "MILLENNIUM" + "MINVALUE" + "MORE_" + "MUMPS" + "NAME" + "NAMES" + "NANOSECOND" + "NESTING" + "NORMALIZED" + "NULLABLE" + "NULLS" + "NUMBER" + "OBJECT" + "OCTETS" + "OPTION" + "OPTIONS" + "ORDERING" + "ORDINALITY" + "OTHERS" + "OUTPUT" + "OVERRIDING" + "PAD" + "PARAMETER_MODE" + "PARAMETER_NAME" + "PARAMETER_ORDINAL_POSITION" + "PARAMETER_SPECIFIC_CATALOG" + "PARAMETER_SPECIFIC_NAME" + "PARAMETER_SPECIFIC_SCHEMA" + "PARTIAL" + "PASCAL" + "PASSTHROUGH" + "PAST" + "PATH" + "PLACING" + "PLAN" + "PLI" + "PRECEDING" + "PRESERVE" + "PRIOR" + "PRIVILEGES" + "PUBLIC" + "QUARTER" + "READ" + "RELATIVE" + "REPEATABLE" + "REPLACE" + "RESTART" + "RESTRICT" + "RETURNED_CARDINALITY" + "RETURNED_LENGTH" + "RETURNED_OCTET_LENGTH" + "RETURNED_SQLSTATE" + "ROLE" + "ROUTINE" + "ROUTINE_CATALOG" + "ROUTINE_NAME" + "ROUTINE_SCHEMA" + "ROW_COUNT" + "SCALE" + "SCHEMA" + "SCHEMA_NAME" + "SCOPE_CATALOGS" + "SCOPE_NAME" + "SCOPE_SCHEMA" + "SECTION" + "SECURITY" + "SELF" + "SEQUENCE" + "SERIALIZABLE" + "SERVER" + "SERVER_NAME" + "SESSION" + "SETS" + "SIMPLE" + "SIZE" + "SOURCE" + "SPACE" + "SPECIFIC_NAME" + "SQL_BIGINT" + "SQL_BINARY" + "SQL_BIT" + "SQL_BLOB" + "SQL_BOOLEAN" + "SQL_CHAR" + "SQL_CLOB" + "SQL_DATE" + "SQL_DECIMAL" + "SQL_DOUBLE" + "SQL_FLOAT" + "SQL_INTEGER" + "SQL_INTERVAL_DAY" + "SQL_INTERVAL_DAY_TO_HOUR" + "SQL_INTERVAL_DAY_TO_MINUTE" + "SQL_INTERVAL_DAY_TO_SECOND" + "SQL_INTERVAL_HOUR" + "SQL_INTERVAL_HOUR_TO_MINUTE" + "SQL_INTERVAL_HOUR_TO_SECOND" + "SQL_INTERVAL_MINUTE" + "SQL_INTERVAL_MINUTE_TO_SECOND" + "SQL_INTERVAL_MONTH" + "SQL_INTERVAL_SECOND" + "SQL_INTERVAL_YEAR" + "SQL_INTERVAL_YEAR_TO_MONTH" + "SQL_LONGVARBINARY" + "SQL_LONGVARNCHAR" + "SQL_LONGVARCHAR" + "SQL_NCHAR" + "SQL_NCLOB" + "SQL_NUMERIC" + "SQL_NVARCHAR" + "SQL_REAL" + "SQL_SMALLINT" + "SQL_TIME" + "SQL_TIMESTAMP" + "SQL_TINYINT" + "SQL_TSI_DAY" + "SQL_TSI_FRAC_SECOND" + "SQL_TSI_HOUR" + "SQL_TSI_MICROSECOND" + "SQL_TSI_MINUTE" + "SQL_TSI_MONTH" + "SQL_TSI_QUARTER" + "SQL_TSI_SECOND" + "SQL_TSI_WEEK" + "SQL_TSI_YEAR" + "SQL_VARBINARY" + "SQL_VARCHAR" + "STATE" + "STATEMENT" + "STRUCTURE" + "STYLE" + "SUBCLASS_ORIGIN" + "SUBSTITUTE" + "TABLE_NAME" + "TEMPORARY" + "TIES" + "TIMESTAMPADD" + "TIMESTAMPDIFF" + "TOP_LEVEL_COUNT" + "TRANSACTION" + "TRANSACTIONS_ACTIVE" + "TRANSACTIONS_COMMITTED" + "TRANSACTIONS_ROLLED_BACK" + "TRANSFORM" + "TRANSFORMS" + "TRIGGER_CATALOG" + "TRIGGER_NAME" + "TRIGGER_SCHEMA" + "TYPE" + "UNBOUNDED" + "UNCOMMITTED" + "UNDER" + "UNNAMED" + "USAGE" + "USER_DEFINED_TYPE_CATALOG" + "USER_DEFINED_TYPE_CODE" + "USER_DEFINED_TYPE_NAME" + "USER_DEFINED_TYPE_SCHEMA" + "VERSION" + "VIEW" + "WEEK" + "WRAPPER" + "WORK" + "WRITE" + "XML" + "ZONE" + + # The following keywords are reserved in core Calcite, + # are reserved in some version of SQL, + # but are not reserved in Babel. + # + # Words that are commented out (e.g. "AND") are still reserved. + # These are the most important reserved words, and SQL cannot be + # unambiguously parsed if they are not reserved. For example, if + # "INNER" is not reserved then in the query + # + # select * from emp inner join dept using (deptno)" + # + # "inner" could be a table alias for "emp". + # + "ABS", + "ABSOLUTE", + "ACTION", + "ADD", + "AFTER", + "ALL", + "ALLOCATE", + "ALLOW", + "ALTER", + "AND", +# "ANY", + "ARE", + "ARRAY", +# # "ARRAY_AGG", # not a keyword in Calcite + "ARRAY_MAX_CARDINALITY", + "AS", + "ASC", + "ASENSITIVE", + "ASSERTION", + "ASYMMETRIC", + "AT", + "ATOMIC", + "AUTHORIZATION", + "AVG", + "BEFORE", + "BEGIN", + "BEGIN_FRAME", + "BEGIN_PARTITION", + "BETWEEN", + "BIGINT", + "BINARY", + "BIT", +# # "BIT_LENGTH", # not a keyword in Calcite + "BLOB", + "BOOLEAN", + "BOTH", + "BREADTH", + "BY", +# "CALL", + "CALLED", + "CARDINALITY", + "CASCADE", + "CASCADED", +# "CASE", + "CAST", + "CATALOG", + "CEIL", + "CEILING", + "CHAR", + "CHARACTER", + "CHARACTER_LENGTH", + "CHAR_LENGTH", + "CHECK", + "CLASSIFIER", + "CLOB", + "CLOSE", + "COALESCE", + "COLLATE", + "COLLATION", + "COLLECT", + "COLUMN", + "COMMIT", + "CONDITION", + "CONNECT", + "CONNECTION", + "CONSTRAINT", + "CONSTRAINTS", + "CONSTRUCTOR", + "CONTAINS", + "CONTINUE", + "CONVERT", + "CORR", + "CORRESPONDING", + "COUNT", + "COVAR_POP", + "COVAR_SAMP", +# "CREATE", +# "CROSS", + "CUBE", + "CUME_DIST", +# "CURRENT", + "CURRENT_CATALOG", + "CURRENT_DATE", + "CURRENT_DEFAULT_TRANSFORM_GROUP", + "CURRENT_PATH", + "CURRENT_ROLE", + "CURRENT_ROW", + "CURRENT_SCHEMA", + "CURRENT_TIME", + "CURRENT_TIMESTAMP", + "CURRENT_TRANSFORM_GROUP_FOR_TYPE", + "CURRENT_USER", +# "CURSOR", + "CYCLE", + "DATA", +# "DATE", + "DAY", +# # "DAYS", # not a keyword in Calcite + "DEALLOCATE", + "DEC", + "DECIMAL", + "DECLARE", +# # "DEFAULT", + "DEFERRABLE", + "DEFERRED", +# "DEFINE", +# "DELETE", + "DENSE_RANK", + "DEPTH", + "DEREF", + "DESC", +# "DESCRIBE", # must be reserved + "DESCRIPTOR", + "DETERMINISTIC", + "DIAGNOSTICS", + "DISALLOW", + "DISCONNECT", +# "DISTINCT", +# # "DO", # not a keyword in Calcite + "DOMAIN", + "DOUBLE", +# "DROP", # probably must be reserved + "DYNAMIC", + "EACH", + "ELEMENT", + "ELSE", +# # "ELSEIF", # not a keyword in Calcite + "EMPTY", + "END", +# # "END-EXEC", # not a keyword in Calcite, and contains '-' + "END_FRAME", + "END_PARTITION", + "EQUALS", + "ESCAPE", + "EVERY", +# "EXCEPT", # must be reserved + "EXCEPTION", + "EXEC", + "EXECUTE", + "EXISTS", +# # "EXIT", # not a keyword in Calcite + "EXP", +# "EXPLAIN", # must be reserved + "EXTEND", + "EXTERNAL", + "EXTRACT", + "FALSE", +# "FETCH", + "FILTER", + "FIRST", + "FIRST_VALUE", + "FLOAT", + "FLOOR", + "FOR", + "FOREIGN", +# # "FOREVER", # not a keyword in Calcite + "FOUND", + "FRAME_ROW", + "FREE", +# "FROM", # must be reserved +# "FULL", # must be reserved + "FUNCTION", + "FUSION", + "GENERAL", + "GET", + "GLOBAL", + "GO", + "GOTO", +# "GRANT", +# "GROUP", +# "GROUPING", + "GROUPS", +# # "HANDLER", # not a keyword in Calcite +# "HAVING", + "HOLD", + "HOUR", +# # "HOURS", # not a keyword in Calcite + "IDENTITY", +# # "IF", # not a keyword in Calcite + "IMMEDIATE", + "IMMEDIATELY", + "IMPORT", +# "IN", + "INDICATOR", + "INITIAL", + "INITIALLY", +# "INNER", + "INOUT", + "INPUT", + "INSENSITIVE", +# "INSERT", + "INT", + "INTEGER", +# "INTERSECT", + "INTERSECTION", +# "INTERVAL", +# "INTO", + "IS", + "ISOLATION", +# # "ITERATE", # not a keyword in Calcite +# "JOIN", +# # "KEEP", # not a keyword in Calcite + "KEY", + "LAG", + "LANGUAGE", + "LARGE", + "LAST", + "LAST_VALUE", +# "LATERAL", + "LEAD", + "LEADING", +# # "LEAVE", # not a keyword in Calcite +# "LEFT", + "LEVEL", + "LIKE", + "LIKE_REGEX", +# "LIMIT", + "LN", + "LOCAL", + "LOCALTIME", + "LOCALTIMESTAMP", + "LOCATOR", +# # "LOOP", # not a keyword in Calcite + "LOWER", + "MAP", + "MATCH", + "MATCHES", + "MATCH_NUMBER", +# "MATCH_RECOGNIZE", + "MAX", +# # "MAX_CARDINALITY", # not a keyword in Calcite + "MEASURES", + "MEMBER", +# "MERGE", + "METHOD", + "MIN", +# "MINUS", + "MINUTE", +# # "MINUTES", # not a keyword in Calcite + "MOD", + "MODIFIES", + "MODULE", + "MONTH", + "MULTISET", + "NAMES", + "NATIONAL", +# "NATURAL", + "NCHAR", + "NCLOB", +# "NEW", +# "NEXT", + "NO", + "NONE", + "NORMALIZE", + "NOT", + "NTH_VALUE", + "NTILE", +# "NULL", + "NULLIF", + "NUMERIC", + "OBJECT", + "OCCURRENCES_REGEX", + "OCTET_LENGTH", + "OF", +# "OFFSET", + "OLD", + "OMIT", +# "ON", + "ONE", + "ONLY", + "OPEN", + "OPTION", + "OR", +# "ORDER", + "ORDINALITY", + "OUT", +# "OUTER", + "OUTPUT", +# "OVER", + "OVERLAPS", + "OVERLAY", + "PAD", + "PARAMETER", + "PARTIAL", +# "PARTITION", + "PATH", +# "PATTERN", + "PER", + "PERCENT", + "PERCENTILE_CONT", + "PERCENTILE_DISC", + "PERCENT_RANK", + "PERIOD", + "PERMUTE", + "PORTION", + "POSITION", + "POSITION_REGEX", + "POWER", + "PRECEDES", + "PRECISION", + "PREPARE", + "PRESERVE", + "PREV", + "PRIMARY", + "PRIOR", + "PRIVILEGES", + "PROCEDURE", + "PUBLIC", +# "RANGE", + "RANK", + "READ", + "READS", + "REAL", + "RECURSIVE", + "REF", + "REFERENCES", + "REFERENCING", + "REGR_AVGX", + "REGR_AVGY", + "REGR_COUNT", + "REGR_INTERCEPT", + "REGR_R2", + "REGR_SLOPE", + "REGR_SXX", + "REGR_SXY", + "REGR_SYY", + "RELATIVE", + "RELEASE", +# # "REPEAT", # not a keyword in Calcite + "RESET", +# # "RESIGNAL", # not a keyword in Calcite + "RESTRICT", + "RESULT", + "RETURN", + "RETURNS", + "REVOKE", +# "RIGHT", + "ROLE", + "ROLLBACK", +# "ROLLUP", + "ROUTINE", +# "ROW", +# "ROWS", + "ROW_NUMBER", + "RUNNING", + "SAVEPOINT", + "SCHEMA", + "SCOPE", + "SCROLL", + "SEARCH", + "SECOND", +# # "SECONDS", # not a keyword in Calcite + "SECTION", + "SEEK", +# "SELECT", + "SENSITIVE", + "SESSION", + "SESSION_USER", +# "SET", +# "SETS", + "SHOW", +# # "SIGNAL", # not a keyword in Calcite + "SIMILAR", + "SIZE", +# # "SKIP", # messes with JavaCC's <SKIP> token + "SMALLINT", +# "SOME", + "SPACE", + "SPECIFIC", + "SPECIFICTYPE", + "SQL", +# # "SQLCODE", # not a keyword in Calcite +# # "SQLERROR", # not a keyword in Calcite + "SQLEXCEPTION", + "SQLSTATE", + "SQLWARNING", + "SQRT", + "START", + "STATE", + "STATIC", + "STDDEV_POP", + "STDDEV_SAMP", +# "STREAM", + "SUBMULTISET", + "SUBSET", + "SUBSTRING", + "SUBSTRING_REGEX", + "SUCCEEDS", + "SUM", + "SYMMETRIC", + "SYSTEM", + "SYSTEM_TIME", + "SYSTEM_USER", +# "TABLE", +# "TABLESAMPLE", + "TEMPORARY", +# "THEN", +# "TIME", +# "TIMESTAMP", + "TIMEZONE_HOUR", + "TIMEZONE_MINUTE", + "TINYINT", + "TO", + "TRAILING", + "TRANSACTION", + "TRANSLATE", + "TRANSLATE_REGEX", + "TRANSLATION", + "TREAT", + "TRIGGER", + "TRIM", + "TRIM_ARRAY", + "TRUE", + "TRUNCATE", + "UESCAPE", + "UNDER", +# # "UNDO", # not a keyword in Calcite +# "UNION", + "UNIQUE", + "UNKNOWN", +# "UNNEST", +# # "UNTIL", # not a keyword in Calcite +# "UPDATE", + "UPPER", + "UPSERT", + "USAGE", + "USER", +# "USING", + "VALUE", +# "VALUES", + "VALUE_OF", + "VARBINARY", + "VARCHAR", + "VARYING", + "VAR_POP", + "VAR_SAMP", + "VERSION", + "VERSIONING", +# # "VERSIONS", # not a keyword in Calcite + "VIEW", +# "WHEN", + "WHENEVER", +# "WHERE", +# # "WHILE", # not a keyword in Calcite + "WIDTH_BUCKET", +# "WINDOW", +# "WITH", + "WITHIN", + "WITHOUT", + "WORK", + "WRITE", + "YEAR", + # "YEARS", # not a keyword in Calcite + "ZONE", + ] # List of additional join types. Each is a method with no arguments. # Example: LeftSemiJoin() |