#
# 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 class package and name
  package: "org.apache.drill.exec.planner.sql.parser.impl",
  class: "DrillParserImpl",

  # List of import statements.
  imports: [
    "org.apache.drill.exec.planner.sql.parser.*",
    "org.apache.calcite.util.*",
    "java.util.*"
  ]

  # List of keywords.
  keywords: [
    "DATABASES",
    "SCHEMAS",
    "TABLES",
    "USE",
    "FILES",
    "REFRESH",
    "METADATA",
    "IF",
    "JAR",
    "PROPERTIES",
    "ANALYZE",
    "COMPUTE",
    "ESTIMATE",
    "STATISTICS",
    "SAMPLE",
    "COLUMNS",
    "REMOVE",
    "ALIAS",
    "ALIASES",
    "STORAGE"
  ]

  # List of methods for parsing custom SQL statements.
  statementParserMethods: [
    "SqlShowTables()",
    "SqlShowSchemas()",
    "SqlDescribeSchema()"
    "SqlDescribeTable()",
    "SqlUseSchema()",
    "SqlCreateOrReplace()"
    "SqlDropAlias()",
    "SqlDropAllAliases()",
    "SqlDrop()",
    "SqlShowFiles()",
    "SqlRefreshMetadata()",
    "SqlCreateFunction()",
    "SqlDropFunction()",
    "SqlAnalyzeTable()",
    "DrillSqlSetOption(Span.of(), null)",
    "DrillSqlResetOption(Span.of(), null)",
    "SqlAlterSchema()"
  ]

  # List of methods for parsing custom literals.
  # Example: ParseJsonLiteral().
  literalParserMethods: [
  ]

  # List of methods for parsing custom data types.
  dataTypeParserMethods: [
  ]

  # Binary operators tokens
  binaryOperatorsTokens: [
  ]

  # Binary operators initialization
  extraBinaryExpressions: [
  ]

  # List of files in @includes directory that have parser method
  # implementations for custom SQL statements, literals or types
  # given as part of "statementParserMethods", "literalParserMethods" or
  # "dataTypeParserMethods".
  implementationFiles: [
    "parserImpls.ftl"
  ]

  # 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 "ALTER <scope>" calls.
  # Each must accept arguments "(SqlParserPos pos, String scope)".
  alterStatementParserMethods: [
    "DrillSqlSetOption",
    "DrillSqlResetOption"
  ]

  # List of methods for parsing extensions to "DROP" calls.
  # Each must accept arguments "(SqlParserPos pos)".
  dropStatementParserMethods: [
  ]

  # List of keywords from "keywords" section that are not reserved.
  # Copied from calcite-core config.fmpp
  # For details please see comment under CALCITE-2405.
   nonReservedKeywords: [
        "A"
        "ABSENT"
        "ABSOLUTE"
        "ACTION"
        "ADA"
        "ADD"
        "ADMIN"
        "AFTER"
        "ALIAS"
        "ALIASES"
        "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"
        "ENCODING"
        "EPOCH"
        "ERROR"
        "EXCEPTION"
        "EXCLUDE"
        "EXCLUDING"
        "FINAL"
        "FIRST"
        "FOLLOWING"
        "FORMAT"
        "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"
        "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"
        "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"
        "STORAGE"
        "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"

        # The following keywords are reserved in core Calcite,
        # are reserved in some version of SQL,
        # but are not reserved in Babel.
        #
        # Words that are commented out (e.g. "AND") are still reserved.
        # These are the most important reserved words, and SQL cannot be
        # unambiguously parsed if they are not reserved. For example, if
        # "INNER" is not reserved then in the query
        #
        #   select * from emp inner join dept using (deptno)"
        #
        # "inner" could be a table alias for "emp".
        #
        "ABS",
        "ABSOLUTE",
        "ACTION",
        "ADD",
        "AFTER",
        "ALL",
        "ALLOCATE",
        "ALLOW",
        "ALTER",
        "AND",
#       "ANY",
        "ARE",
        "ARRAY",
#       # "ARRAY_AGG", # not a keyword in Calcite
        "ARRAY_MAX_CARDINALITY",
        "AS",
        "ASC",
        "ASENSITIVE",
        "ASSERTION",
        "ASYMMETRIC",
        "AT",
        "ATOMIC",
        "AUTHORIZATION",
        "AVG",
        "BEFORE",
        "BEGIN",
        "BEGIN_FRAME",
        "BEGIN_PARTITION",
        "BETWEEN",
        "BIGINT",
        "BINARY",
        "BIT",
#       # "BIT_LENGTH", # not a keyword in Calcite
        "BLOB",
        "BOOLEAN",
        "BOTH",
        "BREADTH",
        "BY",
#       "CALL",
        "CALLED",
        "CARDINALITY",
        "CASCADE",
        "CASCADED",
#       "CASE",
        "CAST",
        "CATALOG",
        "CEIL",
        "CEILING",
        "CHAR",
        "CHARACTER",
        "CHARACTER_LENGTH",
        "CHAR_LENGTH",
        "CHECK",
        "CLASSIFIER",
        "CLOB",
        "CLOSE",
        "COALESCE",
        "COLLATE",
        "COLLATION",
        "COLLECT",
        "COLUMN",
        "COMMIT",
        "CONDITION",
        "CONNECT",
        "CONNECTION",
        "CONSTRAINT",
        "CONSTRAINTS",
        "CONSTRUCTOR",
        "CONTAINS",
        "CONTINUE",
        "CONVERT",
        "CORR",
        "CORRESPONDING",
        "COUNT",
        "COVAR_POP",
        "COVAR_SAMP",
#       "CREATE",
#       "CROSS",
        "CUBE",
        "CUME_DIST",
#       "CURRENT",
        "CURRENT_CATALOG",
        "CURRENT_DATE",
        "CURRENT_DEFAULT_TRANSFORM_GROUP",
        "CURRENT_PATH",
        "CURRENT_ROLE",
        "CURRENT_ROW",
        "CURRENT_SCHEMA",
        "CURRENT_TIME",
        "CURRENT_TIMESTAMP",
        "CURRENT_TRANSFORM_GROUP_FOR_TYPE",
        "CURRENT_USER",
#       "CURSOR",
        "CYCLE",
        "DATA",
#       "DATE",
        "DAY",
#       # "DAYS", # not a keyword in Calcite
        "DEALLOCATE",
        "DEC",
        "DECIMAL",
        "DECLARE",
#       # "DEFAULT",
        "DEFERRABLE",
        "DEFERRED",
#       "DEFINE",
#       "DELETE",
        "DENSE_RANK",
        "DEPTH",
        "DEREF",
        "DESC",
#       "DESCRIBE", # must be reserved
       "DESCRIPTOR",
       "DETERMINISTIC",
       "DIAGNOSTICS",
       "DISALLOW",
       "DISCONNECT",
#       "DISTINCT",
#       # "DO",  # not a keyword in Calcite
       "DOMAIN",
       "DOUBLE",
#       "DROP", # probably must be reserved
       "DYNAMIC",
       "EACH",
       "ELEMENT",
       "ELSE",
#       # "ELSEIF", # not a keyword in Calcite
       "EMPTY",
       "END",
#       # "END-EXEC", # not a keyword in Calcite, and contains '-'
       "END_FRAME",
       "END_PARTITION",
       "EQUALS",
       "ESCAPE",
       "EVERY",
#       "EXCEPT", # must be reserved
       "EXCEPTION",
       "EXEC",
       "EXECUTE",
       "EXISTS",
#       # "EXIT", # not a keyword in Calcite
       "EXP",
#       "EXPLAIN", # must be reserved
       "EXTEND",
       "EXTERNAL",
       "EXTRACT",
       "FALSE",
#        "FETCH",
        "FILTER",
        "FIRST",
        "FIRST_VALUE",
        "FLOAT",
        "FLOOR",
        "FOR",
        "FOREIGN",
#       # "FOREVER", # not a keyword in Calcite
        "FOUND",
        "FRAME_ROW",
        "FREE",
#       "FROM", # must be reserved
#       "FULL", # must be reserved
        "FUNCTION",
        "FUSION",
        "GENERAL",
        "GET",
        "GLOBAL",
        "GO",
        "GOTO",
#       "GRANT",
#       "GROUP",
#       "GROUPING",
        "GROUPS",
#       # "HANDLER", # not a keyword in Calcite
#       "HAVING",
        "HOLD",
        "HOUR",
        "HOURS",
        "IDENTITY",
#       # "IF", # not a keyword in Calcite
        "IMMEDIATE",
        "IMMEDIATELY",
        "IMPORT",
#       "IN",
        "INDICATOR",
        "INITIAL",
        "INITIALLY",
#       "INNER",
        "INOUT",
        "INPUT",
        "INSENSITIVE",
#       "INSERT",
        "INT",
        "INTEGER",
#       "INTERSECT",
        "INTERSECTION",
#       "INTERVAL",
#       "INTO",
        "IS",
        "ISOLATION",
#       # "ITERATE", # not a keyword in Calcite
#       "JOIN",
#       # "KEEP", # not a keyword in Calcite
        "KEY",
        "LAG",
        "LANGUAGE",
        "LARGE",
        "LAST",
        "LAST_VALUE",
#       "LATERAL",
        "LEAD",
        "LEADING",
#       # "LEAVE", # not a keyword in Calcite
#       "LEFT",
        "LEVEL",
        "LIKE",
        "LIKE_REGEX",
#       "LIMIT",
        "LN",
        "LOCAL",
        "LOCALTIME",
        "LOCALTIMESTAMP",
        "LOCATOR",
#       # "LOOP", # not a keyword in Calcite
        "LOWER",
        "MAP",
        "MATCH",
        "MATCHES",
        "MATCH_NUMBER",
#       "MATCH_RECOGNIZE",
        "MAX",
#       # "MAX_CARDINALITY", # not a keyword in Calcite
        "MEASURES",
        "MEMBER",
#       "MERGE",
        "METHOD",
        "MIN",
#       "MINUS",
        "MINUTE",
#       # "MINUTES", # not a keyword in Calcite
        "MOD",
        "MODIFIES",
        "MODULE",
        "MONTH",
        "MULTISET",
        "NAMES",
        "NATIONAL",
#       "NATURAL",
        "NCHAR",
        "NCLOB",
#       "NEW",
#       "NEXT",
        "NO",
        "NONE",
        "NORMALIZE",
        "NOT",
        "NTH_VALUE",
        "NTILE",
#       "NULL",
        "NULLIF",
        "NUMERIC",
        "OBJECT",
        "OCCURRENCES_REGEX",
        "OCTET_LENGTH",
        "OF",
#       "OFFSET",
        "OLD",
        "OMIT",
#       "ON",
        "ONE",
        "ONLY",
        "OPEN",
        "OPTION",
        "OR",
#       "ORDER",
        "ORDINALITY",
        "OUT",
#       "OUTER",
        "OUTPUT",
#       "OVER",
        "OVERLAPS",
        "OVERLAY",
        "PAD",
        "PARAMETER",
        "PARTIAL",
#       "PARTITION",
        "PATH",
#       "PATTERN",
        "PER",
        "PERCENT",
        "PERCENTILE_CONT",
        "PERCENTILE_DISC",
        "PERCENT_RANK",
        "PERIOD",
        "PERMUTE",
        "PORTION",
        "POSITION",
        "POSITION_REGEX",
        "POWER",
        "PRECEDES",
        "PRECISION",
        "PREPARE",
        "PRESERVE",
        "PREV",
        "PRIMARY",
        "PRIOR",
        "PRIVILEGES",
        "PROCEDURE",
        "PUBLIC",
#       "RANGE",
        "RANK",
        "READ",
        "READS",
        "REAL",
        "RECURSIVE",
        "REF",
        "REFERENCES",
        "REFERENCING",
        "REGR_AVGX",
        "REGR_AVGY",
        "REGR_COUNT",
        "REGR_INTERCEPT",
        "REGR_R2",
        "REGR_SLOPE",
        "REGR_SXX",
        "REGR_SXY",
        "REGR_SYY",
        "RELATIVE",
        "RELEASE",
#       # "REPEAT", # not a keyword in Calcite
        "RESET",
#       # "RESIGNAL", # not a keyword in Calcite
        "RESTRICT",
        "RESULT",
        "RETURN",
        "RETURNS",
        "REVOKE",
#       "RIGHT",
        "ROLE",
        "ROLLBACK",
#       "ROLLUP",
        "ROUTINE",
#       "ROW",
#       "ROWS",
        "ROW_NUMBER",
        "RUNNING",
        "SAVEPOINT",
        "SCHEMA",
        "SCOPE",
        "SCROLL",
        "SEARCH",
        "SECOND",
#       # "SECONDS", # not a keyword in Calcite
        "SECTION",
        "SEEK",
#       "SELECT",
        "SENSITIVE",
        "SESSION",
        "SESSION_USER",
#       "SET",
#       "SETS",
        "SHOW",
#       # "SIGNAL", # not a keyword in Calcite
        "SIMILAR",
        "SIZE",
#       # "SKIP", # messes with JavaCC's <SKIP> token
        "SMALLINT",
#       "SOME",
        "SPACE",
        "SPECIFIC",
        "SPECIFICTYPE",
        "SQL",
#       # "SQLCODE", # not a keyword in Calcite
#       # "SQLERROR", # not a keyword in Calcite
        "SQLEXCEPTION",
        "SQLSTATE",
        "SQLWARNING",
        "SQRT",
        "START",
        "STATE",
        "STATIC",
        "STDDEV_POP",
        "STDDEV_SAMP",
#       "STREAM",
        "SUBMULTISET",
        "SUBSET",
        "SUBSTRING",
        "SUBSTRING_REGEX",
        "SUCCEEDS",
        "SUM",
        "SYMMETRIC",
        "SYSTEM",
        "SYSTEM_TIME",
        "SYSTEM_USER",
#       "TABLE",
#       "TABLESAMPLE",
        "TEMPORARY",
#       "THEN",
#       "TIME",
#       "TIMESTAMP",
        "TIMEZONE_HOUR",
        "TIMEZONE_MINUTE",
        "TINYINT",
        "TO",
        "TRAILING",
        "TRANSACTION",
        "TRANSLATE",
        "TRANSLATE_REGEX",
        "TRANSLATION",
        "TREAT",
        "TRIGGER",
        "TRIM",
        "TRIM_ARRAY",
        "TRUE",
        "TRUNCATE",
        "UESCAPE",
        "UNDER",
#       # "UNDO", # not a keyword in Calcite
#       "UNION",
        "UNIQUE",
        "UNKNOWN",
#       "UNNEST",
#       # "UNTIL", # not a keyword in Calcite
#       "UPDATE",
        "UPPER",
        "UPSERT",
        "USAGE",
        "USER",
#       "USING",
        "VALUE",
#       "VALUES",
        "VALUE_OF",
        "VARBINARY",
        "VARCHAR",
        "VARYING",
        "VAR_POP",
        "VAR_SAMP",
        "VERSION",
        "VERSIONING",
#       # "VERSIONS", # not a keyword in Calcite
        "VIEW",
#       "WHEN",
        "WHENEVER",
#       "WHERE",
#       # "WHILE", # not a keyword in Calcite
        "WIDTH_BUCKET",
#       "WINDOW",
#       "WITH",
        "WITHIN",
        "WITHOUT",
        "WORK",
        "WRITE",
        "YEAR",
        # "YEARS", # not a keyword in Calcite
        "ZONE",
        "COLUMNS",
        "REMOVE"
      ]

  # 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 builtin function calls.
  # Return type of method implementation should be "SqlNode".
  # Example: DateFunctionCall().
  builtinFunctionCallMethods: [
  ]

  includePosixOperators: false,
  includeCompoundIdentifier: false,
  includeBraces: true,
  includeAdditionalDeclarations: false,

  identifierMaxLength: 1024

}
