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