| # 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: { |
| # Data declarations for this parser. |
| # |
| # Default declarations are in default_config.fmpp; if you do not include a |
| # declaration ('imports' or 'nonReservedKeywords', for example) in this file, |
| # FMPP will use the declaration from default_config.fmpp. |
| parser: { |
| # Generated parser implementation class package and name |
| package: "org.apache.calcite.sql.parser.ddl", |
| class: "SqlDdlParserImpl", |
| |
| # List of import statements. |
| imports: [ |
| "org.apache.calcite.schema.ColumnStrategy" |
| "org.apache.calcite.sql.SqlCreate" |
| "org.apache.calcite.sql.SqlDrop" |
| "org.apache.calcite.sql.SqlTruncate" |
| "org.apache.calcite.sql.ddl.SqlCreateTableLike" |
| "org.apache.calcite.sql.ddl.SqlDdlNodes" |
| ] |
| |
| # List of new keywords. Example: "DATABASES", "TABLES". If the keyword is |
| # not a reserved keyword, add it to the 'nonReservedKeywords' section. |
| keywords: [ |
| "IF" |
| "MATERIALIZED" |
| "STORED" |
| "VIRTUAL" |
| "JAR" |
| "FILE" |
| "ARCHIVE" |
| ] |
| |
| # List of non-reserved keywords to add; |
| # items in this list become non-reserved |
| nonReservedKeywordsToAdd: [ |
| # not in core, added in server |
| "IF" |
| "MATERIALIZED" |
| "STORED" |
| "VIRTUAL" |
| "JAR" |
| "FILE" |
| "ARCHIVE" |
| ] |
| |
| # List of methods for parsing extensions to "CREATE [OR REPLACE]" calls. |
| # Each must accept arguments "(SqlParserPos pos, boolean replace)". |
| # Example: "SqlCreateForeignSchema". |
| createStatementParserMethods: [ |
| "SqlCreateForeignSchema" |
| "SqlCreateMaterializedView" |
| "SqlCreateSchema" |
| "SqlCreateTable" |
| "SqlCreateType" |
| "SqlCreateView" |
| "SqlCreateFunction" |
| ] |
| |
| # List of methods for parsing extensions to "DROP" calls. |
| # Each must accept arguments "(SqlParserPos pos)". |
| # Example: "SqlDropSchema". |
| dropStatementParserMethods: [ |
| "SqlDropMaterializedView" |
| "SqlDropSchema" |
| "SqlDropTable" |
| "SqlDropType" |
| "SqlDropView" |
| "SqlDropFunction" |
| ] |
| |
| # List of methods for parsing extensions to "TRUNCATE" calls. |
| # Each must accept arguments "(SqlParserPos pos)". |
| # Example: "SqlTruncateTable". |
| truncateStatementParserMethods: [ |
| "SqlTruncateTable" |
| ] |
| |
| # 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: [ |
| "parserImpls.ftl" |
| ] |
| includeDistinctOn: true |
| } |
| } |
| |
| freemarkerLinks: { |
| includes: includes/ |
| } |