All Downloads are FREE. Search and download functionalities are using the official Maven repository.

codegen.config.fmpp Maven / Gradle / Ivy

The newest version!
# 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.

# This file is an FMPP (http://fmpp.sourceforge.net/) configuration file to
# allow clients to extend Calcite's SQL parser to support application specific
# SQL statements, literals or data types.
#
# Calcite's parser grammar file (Parser.jj) is written in javacc
# (http://javacc.java.net/) with Freemarker (http://freemarker.org/) variables
# to allow clients to:
#   1. have custom parser implementation class and package name.
#   2. insert new parser method implementations written in javacc to parse
#      custom:
#      a) SQL statements.
#      b) literals.
#      c) data types.
#   3. add new keywords to support custom SQL constructs added as part of (2).
#   4. add import statements needed by inserted custom parser implementations.
#
# Parser template file (Parser.jj) along with this file are packaged as
# part of the calcite-core-.jar under "codegen" directory.

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: {
    # 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"
      "CONTINUE"
      "CURSOR_NAME"
      "DATA"
      "DATABASE"
      "DATETIME_INTERVAL_CODE"
      "DATETIME_INTERVAL_PRECISION"
      "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"
      "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"
      "TIMESTAMPADD"
      "TIMESTAMPDIFF"
      "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"
      "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: "DateFunctionCall()".
    builtinFunctionCallMethods: [
    ]

    # List of methods for parsing extensions to "ALTER " 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: [
    ]

    # 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: [
    ]

    includePosixOperators: false
    includeCompoundIdentifier: true
    includeBraces: true
    includeAdditionalDeclarations: false
  }

}

freemarkerLinks: {
  includes: includes/
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy