| # 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. |
| |
| data: { |
| parser: { |
| # Generated parser implementation class package and name |
| package: "org.apache.beam.sdk.extensions.sql.impl.parser.impl", |
| class: "BeamSqlParserImpl", |
| |
| # List of import statements. |
| imports: [ |
| "org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.schema.ColumnStrategy" |
| "org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.sql.SqlCreate" |
| "org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.sql.SqlDrop" |
| "org.apache.beam.vendor.calcite.v1_20_0.org.apache.calcite.sql.type.SqlTypeName" |
| "org.apache.beam.sdk.extensions.sql.impl.parser.SqlCreateExternalTable" |
| "org.apache.beam.sdk.extensions.sql.impl.parser.SqlDdlNodes" |
| "org.apache.beam.sdk.extensions.sql.impl.parser.SqlSetOptionBeam" |
| "org.apache.beam.sdk.extensions.sql.impl.utils.CalciteUtils" |
| "org.apache.beam.sdk.schemas.Schema" |
| ] |
| |
| # List of keywords. |
| keywords: [ |
| "COMMENT" |
| "IF" |
| "LOCATION" |
| "TBLPROPERTIES" |
| ] |
| |
| # List of keywords from "keywords" section that are not reserved. |
| 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" |
| |
| # added in Beam |
| "COMMENT" |
| "IF" |
| "LOCATION" |
| "TBLPROPERTIES" |
| ] |
| |
| # List of additional join types. Each is a method with no arguments. |
| # Example: LeftSemiJoin() |
| joinTypes: [ |
| ] |
| |
| # List of methods for parsing custom SQL statements. |
| statementParserMethods: [ |
| "SqlSetOptionBeam(Span.of(), null)" |
| "SqlCreateExternalTable()" |
| ] |
| |
| # List of methods for parsing custom literals. |
| # Example: ParseJsonLiteral(). |
| literalParserMethods: [ |
| ] |
| |
| # List of methods for parsing custom data types. |
| dataTypeParserMethods: [ |
| ] |
| |
| # List of methods for parsing extensions to "ALTER <scope>" calls. |
| # Each must accept arguments "(SqlParserPos pos, String scope)". |
| alterStatementParserMethods: [ |
| "SqlSetOptionBeam" |
| ] |
| |
| # List of methods for parsing extensions to "CREATE [OR REPLACE]" calls. |
| # Each must accept arguments "(SqlParserPos pos, boolean replace)". |
| createStatementParserMethods: [ |
| SqlCreateTableNotSupportedMessage |
| ] |
| |
| # List of methods for parsing extensions to "DROP" calls. |
| # Each must accept arguments "(SqlParserPos pos)". |
| dropStatementParserMethods: [ |
| "SqlDropTable" |
| ] |
| |
| # 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". |
| implementationFiles: [ |
| "parserImpls.ftl" |
| ] |
| |
| # List of methods for parsing builtin function calls. |
| builtinFunctionCallMethods: [ |
| ] |
| |
| includeCompoundIdentifier: true |
| includeBraces: true |
| includeAdditionalDeclarations: false |
| |
| } |
| } |
| freemarkerLinks: { |
| includes: includes/ |
| } |