| # Licensed to the Apache Software Foundation (ASF) under one or more | |
| # contributor license agreements. See the NOTICE file distributed with | |
| # this work for additional information regarding copyright ownership. | |
| # The ASF licenses this file to you under the Apache License, Version 2.0 | |
| # (the "License"); you may not use this file except in compliance with | |
| # the License. You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| # Default data declarations for parsers. | |
| # Each of these may be overridden in a parser's config.fmpp file. | |
| # In addition, each parser must define "package" and "class". | |
| parser: { | |
| # List of additional classes and packages to import. | |
| # Example: "org.apache.calcite.sql.*", "java.util.List". | |
| imports: [ | |
| ] | |
| # List of new keywords. Example: "DATABASES", "TABLES". If the keyword is | |
| # not a reserved keyword, add it to the 'nonReservedKeywords' section. | |
| keywords: [ | |
| ] | |
| # List of keywords from "keywords" section that are not reserved. | |
| nonReservedKeywords: [ | |
| "A" | |
| "ABSENT" | |
| "ABSOLUTE" | |
| "ACTION" | |
| "ADA" | |
| "ADD" | |
| "ADMIN" | |
| "AFTER" | |
| "ALWAYS" | |
| "APPLY" | |
| "ARRAY_AGG" | |
| "ARRAY_CONCAT_AGG" | |
| "ASC" | |
| "ASSERTION" | |
| "ASSIGNMENT" | |
| "ATTRIBUTE" | |
| "ATTRIBUTES" | |
| "BEFORE" | |
| "BERNOULLI" | |
| "BREADTH" | |
| "C" | |
| "CASCADE" | |
| "CATALOG" | |
| "CATALOG_NAME" | |
| "CENTURY" | |
| "CHAIN" | |
| "CHARACTERISTICS" | |
| "CHARACTERS" | |
| "CHARACTER_SET_CATALOG" | |
| "CHARACTER_SET_NAME" | |
| "CHARACTER_SET_SCHEMA" | |
| "CLASS_ORIGIN" | |
| "COBOL" | |
| "COLLATION" | |
| "COLLATION_CATALOG" | |
| "COLLATION_NAME" | |
| "COLLATION_SCHEMA" | |
| "COLUMN_NAME" | |
| "COMMAND_FUNCTION" | |
| "COMMAND_FUNCTION_CODE" | |
| "COMMITTED" | |
| "CONDITIONAL" | |
| "CONDITION_NUMBER" | |
| "CONNECTION" | |
| "CONNECTION_NAME" | |
| "CONSTRAINT_CATALOG" | |
| "CONSTRAINT_NAME" | |
| "CONSTRAINTS" | |
| "CONSTRAINT_SCHEMA" | |
| "CONSTRUCTOR" | |
| "CONTAINS_SUBSTR" | |
| "CONTINUE" | |
| "CURSOR_NAME" | |
| "DATA" | |
| "DATABASE" | |
| "DATE_DIFF" | |
| "DATE_TRUNC" | |
| "DATETIME_DIFF" | |
| "DATETIME_INTERVAL_CODE" | |
| "DATETIME_INTERVAL_PRECISION" | |
| "DATETIME_TRUNC" | |
| "DAYOFWEEK" | |
| "DAYOFYEAR" | |
| "DAYS" | |
| "DECADE" | |
| "DEFAULTS" | |
| "DEFERRABLE" | |
| "DEFERRED" | |
| "DEFINED" | |
| "DEFINER" | |
| "DEGREE" | |
| "DEPTH" | |
| "DERIVED" | |
| "DESC" | |
| "DESCRIPTION" | |
| "DESCRIPTOR" | |
| "DIAGNOSTICS" | |
| "DISPATCH" | |
| "DOMAIN" | |
| "DOW" | |
| "DOY" | |
| "DOT_FORMAT" | |
| "DYNAMIC_FUNCTION" | |
| "DYNAMIC_FUNCTION_CODE" | |
| "ENCODING" | |
| "EPOCH" | |
| "ERROR" | |
| "EXCEPTION" | |
| "EXCLUDE" | |
| "EXCLUDING" | |
| "FINAL" | |
| "FIRST" | |
| "FOLLOWING" | |
| "FORMAT" | |
| "FORTRAN" | |
| "FOUND" | |
| "FRAC_SECOND" | |
| "G" | |
| "GENERAL" | |
| "GENERATED" | |
| "GEOMETRY" | |
| "GO" | |
| "GOTO" | |
| "GRANTED" | |
| "GROUP_CONCAT" | |
| "HIERARCHY" | |
| "HOP" | |
| "HOURS" | |
| "IGNORE" | |
| "ILIKE" | |
| "IMMEDIATE" | |
| "IMMEDIATELY" | |
| "IMPLEMENTATION" | |
| "INCLUDE" | |
| "INCLUDING" | |
| "INCREMENT" | |
| "INITIALLY" | |
| "INPUT" | |
| "INSTANCE" | |
| "INSTANTIABLE" | |
| "INVOKER" | |
| "ISODOW" | |
| "ISOLATION" | |
| "ISOYEAR" | |
| "JAVA" | |
| "JSON" | |
| "K" | |
| "KEY" | |
| "KEY_MEMBER" | |
| "KEY_TYPE" | |
| "LABEL" | |
| "LAST" | |
| "LENGTH" | |
| "LEVEL" | |
| "LIBRARY" | |
| "LOCATOR" | |
| "M" | |
| "MAP" | |
| "MATCHED" | |
| "MAXVALUE" | |
| "MESSAGE_LENGTH" | |
| "MESSAGE_OCTET_LENGTH" | |
| "MESSAGE_TEXT" | |
| "MICROSECOND" | |
| "MILLENNIUM" | |
| "MILLISECOND" | |
| "MINUTES" | |
| "MINVALUE" | |
| "MONTHS" | |
| "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" | |
| "PASSING" | |
| "PASSTHROUGH" | |
| "PAST" | |
| "PATH" | |
| "PIVOT" | |
| "PLACING" | |
| "PLAN" | |
| "PLI" | |
| "PRECEDING" | |
| "PRESERVE" | |
| "PRIOR" | |
| "PRIVILEGES" | |
| "PUBLIC" | |
| "QUARTER" | |
| "QUARTERS" | |
| "READ" | |
| "RELATIVE" | |
| "REPEATABLE" | |
| "REPLACE" | |
| "RESPECT" | |
| "RESTART" | |
| "RESTRICT" | |
| "RETURNED_CARDINALITY" | |
| "RETURNED_LENGTH" | |
| "RETURNED_OCTET_LENGTH" | |
| "RETURNED_SQLSTATE" | |
| "RETURNING" | |
| "RLIKE" | |
| "ROLE" | |
| "ROUTINE" | |
| "ROUTINE_CATALOG" | |
| "ROUTINE_NAME" | |
| "ROUTINE_SCHEMA" | |
| "ROW_COUNT" | |
| "SCALAR" | |
| "SCALE" | |
| "SCHEMA" | |
| "SCHEMA_NAME" | |
| "SCOPE_CATALOGS" | |
| "SCOPE_NAME" | |
| "SCOPE_SCHEMA" | |
| "SECONDS" | |
| "SECTION" | |
| "SECURITY" | |
| "SELF" | |
| "SEPARATOR" | |
| "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_LONGVARCHAR" | |
| "SQL_LONGVARNCHAR" | |
| "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" | |
| "STRING_AGG" | |
| "STRUCTURE" | |
| "STYLE" | |
| "SUBCLASS_ORIGIN" | |
| "SUBSTITUTE" | |
| "TABLE_NAME" | |
| "TEMPORARY" | |
| "TIES" | |
| "TIME_DIFF" | |
| "TIME_TRUNC" | |
| "TIMESTAMPADD" | |
| "TIMESTAMPDIFF" | |
| "TIMESTAMP_DIFF" | |
| "TIMESTAMP_TRUNC" | |
| "TOP_LEVEL_COUNT" | |
| "TRANSACTION" | |
| "TRANSACTIONS_ACTIVE" | |
| "TRANSACTIONS_COMMITTED" | |
| "TRANSACTIONS_ROLLED_BACK" | |
| "TRANSFORM" | |
| "TRANSFORMS" | |
| "TRIGGER_CATALOG" | |
| "TRIGGER_NAME" | |
| "TRIGGER_SCHEMA" | |
| "TUMBLE" | |
| "TYPE" | |
| "UNBOUNDED" | |
| "UNCOMMITTED" | |
| "UNCONDITIONAL" | |
| "UNDER" | |
| "UNPIVOT" | |
| "UNNAMED" | |
| "USAGE" | |
| "USER_DEFINED_TYPE_CATALOG" | |
| "USER_DEFINED_TYPE_CODE" | |
| "USER_DEFINED_TYPE_NAME" | |
| "USER_DEFINED_TYPE_SCHEMA" | |
| "UTF16" | |
| "UTF32" | |
| "UTF8" | |
| "VERSION" | |
| "VIEW" | |
| "WEEK" | |
| "WEEKS" | |
| "WORK" | |
| "WRAPPER" | |
| "WRITE" | |
| "XML" | |
| "YEARS" | |
| "ZONE" | |
| ] | |
| # List of non-reserved keywords to add; | |
| # items in this list become non-reserved. | |
| nonReservedKeywordsToAdd: [ | |
| ] | |
| # List of non-reserved keywords to remove; | |
| # items in this list become reserved. | |
| nonReservedKeywordsToRemove: [ | |
| ] | |
| # List of additional join types. Each is a method with no arguments. | |
| # Example: "LeftSemiJoin". | |
| joinTypes: [ | |
| ] | |
| # List of methods for parsing custom SQL statements. | |
| # Return type of method implementation should be 'SqlNode'. | |
| # Example: "SqlShowDatabases()", "SqlShowTables()". | |
| statementParserMethods: [ | |
| ] | |
| # List of methods for parsing custom literals. | |
| # Return type of method implementation should be "SqlNode". | |
| # Example: ParseJsonLiteral(). | |
| literalParserMethods: [ | |
| ] | |
| # List of methods for parsing custom data types. | |
| # Return type of method implementation should be "SqlTypeNameSpec". | |
| # Example: SqlParseTimeStampZ(). | |
| dataTypeParserMethods: [ | |
| ] | |
| # List of methods for parsing builtin function calls. | |
| # Return type of method implementation should be "SqlNode". | |
| # Example: "DateTimeConstructorCall()". | |
| builtinFunctionCallMethods: [ | |
| ] | |
| # List of methods for parsing extensions to "ALTER <scope>" calls. | |
| # Each must accept arguments "(SqlParserPos pos, String scope)". | |
| # Example: "SqlAlterTable". | |
| alterStatementParserMethods: [ | |
| ] | |
| # List of methods for parsing extensions to "CREATE [OR REPLACE]" calls. | |
| # Each must accept arguments "(SqlParserPos pos, boolean replace)". | |
| # Example: "SqlCreateForeignSchema". | |
| createStatementParserMethods: [ | |
| ] | |
| # List of methods for parsing extensions to "DROP" calls. | |
| # Each must accept arguments "(SqlParserPos pos)". | |
| # Example: "SqlDropSchema". | |
| dropStatementParserMethods: [ | |
| ] | |
| # List of methods for parsing extensions to "TRUNCATE" calls. | |
| # Each must accept arguments "(SqlParserPos pos)". | |
| # Example: "SqlTruncate". | |
| truncateStatementParserMethods: [ | |
| ] | |
| # Binary operators tokens. | |
| # Example: "< INFIX_CAST: \"::\" >". | |
| binaryOperatorsTokens: [ | |
| ] | |
| # Binary operators initialization. | |
| # Example: "InfixCast". | |
| extraBinaryExpressions: [ | |
| ] | |
| # List of files in @includes directory that have parser method | |
| # implementations for parsing custom SQL statements, literals or types | |
| # given as part of "statementParserMethods", "literalParserMethods" or | |
| # "dataTypeParserMethods". | |
| # Example: "parserImpls.ftl". | |
| implementationFiles: [ | |
| ] | |
| # Custom identifier token. | |
| # Example: "< IDENTIFIER: (<LETTER>|<DIGIT>)+ >". | |
| customIdentifierToken: "" | |
| # Method for parsing "SET [OR RESET]" calls. | |
| setOptionParserMethod: "SqlSetOption" | |
| includePosixOperators: false | |
| includeCompoundIdentifier: true | |
| includeBraces: true | |
| includeAdditionalDeclarations: false | |
| includeParsingStringLiteralAsArrayLiteral: false | |
| includeIntervalWithoutQualifier: false | |
| includeStarExclude: false | |
| } |