| # 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. |
| |
| { |
| # Generated parser implementation package and class name. |
| package: "org.apache.flink.sql.parser.impl", |
| class: "FlinkSqlParserImpl", |
| |
| # List of additional classes and packages to import. |
| # Example. "org.apache.calcite.sql.*", "java.util.List". |
| imports: [ |
| "org.apache.flink.sql.parser.ddl.SqlCreateTable", |
| "org.apache.flink.sql.parser.ddl.SqlCreateTable.TableTempWrapper", |
| "org.apache.flink.sql.parser.ddl.SqlAnalyzeTable", |
| "org.apache.flink.sql.parser.ddl.SqlRichDescribeTable", |
| "org.apache.flink.sql.parser.ddl.SqlCreateTable.IndexWrapper", |
| "org.apache.flink.sql.parser.ddl.SqlTableColumn", |
| "org.apache.flink.sql.parser.ddl.SqlCreateFunction", |
| "org.apache.flink.sql.parser.ddl.SqlCreateView", |
| "org.apache.flink.sql.parser.ddl.SqlWatermark", |
| "org.apache.flink.sql.parser.ddl.SqlHiddenColumn", |
| "java.util.List", |
| "java.util.ArrayList" |
| ] |
| |
| # List of new keywords. Example: "DATABASES", "TABLES". If the keyword is not a reserved |
| # keyword, please also add it to 'nonReservedKeywords' section. |
| keywords: [ |
| "COMMENT", |
| "HIDDEN", |
| "PROCTIME", |
| "CHARACTERISTICTS", |
| "HEADER", |
| "ANALYZE", |
| "COMPUTE", |
| "STATISTICS", |
| "COLUMNS", |
| "INDEX", |
| "EXTENDED", |
| "FORMATTED" |
| ] |
| |
| # List of keywords from "keywords" section that are not reserved. |
| nonReservedKeywords: [ |
| "COMMENT", |
| "HIDDEN", |
| "PROCTIME", |
| "HEADER", |
| "ANALYZE", |
| "COMPUTE", |
| "STATISTICS", |
| "COLUMNS", |
| "INDEX", |
| "EXTENDED", |
| "FORMATTED" |
| ] |
| |
| # List of methods for parsing custom SQL statements. |
| # Return type of method implementation should be 'SqlNode'. |
| # Example: SqlShowDatabases(), SqlShowTables(). |
| statementParserMethods: [ |
| "SqlCreateTable()", |
| "SqlCreateFunction()", |
| "SqlCreateOrReplaceView()", |
| "SqlAnalyzeTable()", |
| "SqlRichDescribe()" |
| ] |
| |
| # 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 "SqlIdentifier". |
| # Example: SqlParseTimeStampZ(). |
| dataTypeParserMethods: [ |
| ] |
| |
| # List of methods for parsing extensions to "ALTER <scope>" calls. |
| # Each must accept arguments "(SqlParserPos pos, String scope)". |
| # Example: "SqlUploadJarNode" |
| alterStatementParserMethods: [ |
| ] |
| |
| # List of methods for parsing extensions to "CREATE [OR REPLACE]" calls. |
| # Each must accept arguments "(SqlParserPos pos, boolean replace)". |
| createStatementParserMethods: [ |
| ] |
| |
| # List of methods for parsing extensions to "DROP" calls. |
| # Each must accept arguments "(SqlParserPos pos)". |
| dropStatementParserMethods: [ |
| ] |
| |
| # 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 additional join types. Each is a method with no arguments. |
| # Example: LeftSemiJoin() |
| joinTypes: [ |
| ] |
| |
| includeCompoundIdentifier: true |
| includeBraces: true |
| includeAdditionalDeclarations: false |
| } |