#
# 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"
      "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"
      "DATE_TRUNC"
      "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"
      "QUARTERS"
      "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"
      "TIME_DIFF"
      "TIME_TRUNC"
      "TIMESTAMPADD"
      "TIMESTAMPDIFF"
      "TIMESTAMP_DIFF"
      "TIMESTAMP_TRUNC"
      "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"
      "WEEKS"
      "WORK"
      "WRAPPER"
      "WRITE"
      "XML"
      "YEARS"
      "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"
      "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"
      "ILIKE"
      "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"
      "JSON_ARRAY"
      "JSON_ARRAYAGG"
      "JSON_EXISTS"
      "JSON_OBJECT"
      "JSON_OBJECTAGG"
      "JSON_QUERY"
      "JSON_VALUE"
#     "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"
      "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"
      "RLIKE"
      "ROLE"
      "ROLLBACK"
#     "ROLLUP"
      "ROUTINE"
#     "ROW"
#     "ROWS"
      "ROW_NUMBER"
      "RUNNING"
      "SAVEPOINT"
      "SCHEMA"
      "SCOPE"
      "SCROLL"
      "SEARCH"
      "SECOND"
      "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"
      "TIME_DIFF"
      "TIME_TRUNC"
#     "TIMESTAMP"
      "TIMESTAMP_DIFF"
      "TIMESTAMP_TRUNC"
      "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"
      "ZONE"
  ]

  # List of non-reserved keywords to add;
  # items in this list become non-reserved
  nonReservedKeywordsToAdd: [
      "ALIAS"
      "ALIASES"
      "COLUMNS"
      "DATETIME"
      "HOURS"
      "STORAGE"
      "REMOVE"
  ]

  # 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,
  includeParsingStringLiteralAsArrayLiteral: false,

  identifierMaxLength: 1024

}
