diff --git a/extensions-contrib/compressed-bigdecimal/pom.xml b/extensions-contrib/compressed-bigdecimal/pom.xml
index ebf7ebdf7d7d..a9929c3c949c 100644
--- a/extensions-contrib/compressed-bigdecimal/pom.xml
+++ b/extensions-contrib/compressed-bigdecimal/pom.xml
@@ -65,7 +65,6 @@
org.apache.calcite
calcite-core
- 1.21.0
provided
diff --git a/licenses.yaml b/licenses.yaml
index 1765d6470baf..62b5625b59cb 100644
--- a/licenses.yaml
+++ b/licenses.yaml
@@ -1620,7 +1620,7 @@ name: Apache Calcite
license_category: binary
module: java-core
license_name: Apache License version 2.0
-version: 1.21.0
+version: 1.32.0
libraries:
- org.apache.calcite: calcite-core
- org.apache.calcite: calcite-linq4j
diff --git a/owasp-dependency-check-suppressions.xml b/owasp-dependency-check-suppressions.xml
index e4bbe3de3a60..9da00eed83aa 100644
--- a/owasp-dependency-check-suppressions.xml
+++ b/owasp-dependency-check-suppressions.xml
@@ -523,7 +523,7 @@
CVE-2015-7430
CVE-2017-3162
-
+
CVE-2022-39135
-
-
-
-
- CVE-2022-39135
-
-
diff --git a/pom.xml b/pom.xml
index b663c89eba07..fcba21327ee8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -81,11 +81,9 @@
2.2.4
1.17.0
1.9.2
-
- 1.21.0
+ 1.32.0
3.2.0
2.0.0
10.14.2.0
@@ -939,9 +937,8 @@
org.apache.calcite
- calcite-core
+ calcite-testkit
${calcite.version}
- test-jar
test
diff --git a/sql/pom.xml b/sql/pom.xml
index bbf2eb049edb..a147f8217a59 100644
--- a/sql/pom.xml
+++ b/sql/pom.xml
@@ -199,8 +199,7 @@
org.apache.calcite
- calcite-core
- test-jar
+ calcite-testkit
test
@@ -287,7 +286,7 @@
jar
true
${project.build.directory}/
- **/Parser.jj
+ **/Parser.jj,**/default_config.fmpp
diff --git a/sql/src/main/codegen/config.fmpp b/sql/src/main/codegen/config.fmpp
index 31fe812bbec7..4953ae780b5b 100644
--- a/sql/src/main/codegen/config.fmpp
+++ b/sql/src/main/codegen/config.fmpp
@@ -18,8 +18,8 @@
# 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:
+# (https://javacc.github.io/javacc/) 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:
@@ -32,17 +32,16 @@
# Parser template file (Parser.jj) along with this file are packaged as
# part of the calcite-core-.jar under "codegen" directory.
-# This file is directly copied from calite-core-1.21.0.jar/codegen/config.fmpp, and then modified slightly.
-# While not a necessary requirement, it would be ideal if it is kept in line with calcite-core's version. In the newer
-# Calcite versions, there is a default_config.fmpp which will free us from maintaining this file.
-#
-# Following clauses are modified in the file:
-# 1. data.parser.package & data.parser.class
-# 2. data.parser.imports
-# 3. data.parser.keywords (Added "CLUSTERED", "PARTITIONED")
-# 4. data.parser.statementParserMethods
-# 5. data.parser.implementationFiles
data: {
+ default: {
+ tdd("../default_config.fmpp")
+ }
+
+ # 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 package and class name.
package: "org.apache.druid.sql.calcite.parser",
@@ -68,319 +67,6 @@ data: {
"PARTITIONED"
]
- # List of keywords from "keywords" section that are not reserved.
- nonReservedKeywords: [
- "A"
- "ABSENT"
- "ABSOLUTE"
- "ACTION"
- "ADA"
- "ADD"
- "ADMIN"
- "AFTER"
- "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"
- "CONDITIONAL"
- "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"
- "IGNORE"
- "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"
- "MORE_"
- "MUMPS"
- "NAME"
- "NAMES"
- "NANOSECOND"
- "NESTING"
- "NORMALIZED"
- "NULLABLE"
- "NULLS"
- "NUMBER"
- "OBJECT"
- "OCTETS"
- "OPTION"
- "OPTIONS"
- "ORDERING"
- "ORDINALITY"
- "OTHERS"
- "OUTPUT"
- "OVERRIDING"
- "OVERWRITE"
- "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"
- "RESPECT"
- "RESTART"
- "RESTRICT"
- "RETURNED_CARDINALITY"
- "RETURNED_LENGTH"
- "RETURNED_OCTET_LENGTH"
- "RETURNED_SQLSTATE"
- "RETURNING"
- "ROLE"
- "ROUTINE"
- "ROUTINE_CATALOG"
- "ROUTINE_NAME"
- "ROUTINE_SCHEMA"
- "ROW_COUNT"
- "SCALAR"
- "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"
- "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"
- "UNCONDITIONAL"
- "UNDER"
- "UNNAMED"
- "USAGE"
- "USER_DEFINED_TYPE_CATALOG"
- "USER_DEFINED_TYPE_CODE"
- "USER_DEFINED_TYPE_NAME"
- "USER_DEFINED_TYPE_SCHEMA"
- "UTF8"
- "UTF16"
- "UTF32"
- "VERSION"
- "VIEW"
- "WEEK"
- "WRAPPER"
- "WORK"
- "WRITE"
- "XML"
- "ZONE"
- ]
-
- # 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().
@@ -390,48 +76,6 @@ data: {
"DruidSqlReplaceEof()"
]
- # 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: "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: [
- ]
-
- # Binary operators tokens
- binaryOperatorsTokens: [
- ]
-
- # Binary operators initialization
- 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
@@ -442,14 +86,9 @@ data: {
"explain.ftl"
"replace.ftl"
]
-
- includePosixOperators: false
- includeCompoundIdentifier: true
- includeBraces: true
- includeAdditionalDeclarations: false
}
}
freemarkerLinks: {
includes: includes/
-}
+}
\ No newline at end of file