From f4d7a26a1d4227e550260a571e402b2a074f021b Mon Sep 17 00:00:00 2001 From: linghengqian Date: Wed, 29 Nov 2023 00:15:57 +0800 Subject: [PATCH] Updates Calcite to 1.36.0 to further support the `WITH RECURSIVE` keyword --- distribution/proxy/src/main/release-docs/LICENSE | 4 ++-- .../expression/impl/CaseWhenExpressionConverter.java | 2 +- .../expression/impl/LiteralExpressionConverter.java | 2 +- .../expression/impl/MatchExpressionConverter.java | 2 +- .../expression/impl/TrimFunctionConverter.java | 2 +- .../resources/cases/federation-query-sql-cases.xml | 12 ++++++------ pom.xml | 6 +++--- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/distribution/proxy/src/main/release-docs/LICENSE b/distribution/proxy/src/main/release-docs/LICENSE index 5cc4f464d08ef5..631aa0bca0895c 100644 --- a/distribution/proxy/src/main/release-docs/LICENSE +++ b/distribution/proxy/src/main/release-docs/LICENSE @@ -222,8 +222,8 @@ The text of each license is the standard Apache 2.0 license. avatica-core 1.23.0: https://calcite.apache.org/avatica, Apache 2.0 avatica-metrics 1.23.0: https://calcite.apache.org/avatica, Apache 2.0 caffeine 2.9.3: https://github.com/ben-manes/caffeine, Apache 2.0 - calcite-core 1.35.0: https://calcite.apache.org, Apache 2.0 - calcite-linq4j 1.35.0: https://calcite.apache.org, Apache 2.0 + calcite-core 1.36.0: https://calcite.apache.org, Apache 2.0 + calcite-linq4j 1.36.0: https://calcite.apache.org, Apache 2.0 commons-codec 1.16.0: https://github.com/apache/commons-codec, Apache 2.0 commons-dbcp2 2.6.0: https://commons.apache.org/proper/commons-dbcp, Apache 2.0 commons-exec 1.3: https://github.com/apache/commons-exec, Apache 2.0 diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java index 6f7b36bfddef47..7d8536554446cc 100644 --- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java +++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java @@ -53,7 +53,7 @@ public static Optional convert(final CaseWhenExpression segment) { segment.getThenExprs().forEach(each -> ExpressionConverter.convert(each).ifPresent(thenExprs::add)); Optional elseExpr = ExpressionConverter.convert(segment.getElseExpr()); return Optional.of(new SqlCase(SqlParserPos.ZERO, null, new SqlNodeList(whenExprs, SqlParserPos.ZERO), new SqlNodeList(thenExprs, SqlParserPos.ZERO), - elseExpr.orElseGet(() -> SqlLiteral.createCharString("NULL", SqlParserPos.ZERO)))); + elseExpr.orElseGet(() -> SqlLiteral.createCharString("NULL", null, SqlParserPos.ZERO)))); } private static Collection convertWhenExprs(final ExpressionSegment caseExpr, final Collection whenExprs) { diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java index 26a74e59041828..08020840768060 100644 --- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java +++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java @@ -75,7 +75,7 @@ public static Optional convert(final LiteralExpressionSegment segment) return Optional.of(SqlLiteral.createExactNumeric(literalValue, SqlParserPos.ZERO)); } if (segment.getLiterals() instanceof String) { - return Optional.of(SqlLiteral.createCharString(literalValue, SqlParserPos.ZERO)); + return Optional.of(SqlLiteral.createCharString(literalValue, null, SqlParserPos.ZERO)); } return Optional.empty(); } diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/MatchExpressionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/MatchExpressionConverter.java index 69ebb4d7a49115..70bf3b636d6b25 100644 --- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/MatchExpressionConverter.java +++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/MatchExpressionConverter.java @@ -55,7 +55,7 @@ public static Optional convert(final MatchAgainstExpression segment) { names.add(segment.getColumnName().getIdentifier().getValue()); sqlNodes.add(new SqlIdentifier(names, SqlParserPos.ZERO)); ExpressionConverter.convert(segment.getExpr()).ifPresent(sqlNodes::add); - SqlNode searchModifier = SqlLiteral.createCharString(segment.getSearchModifier(), SqlParserPos.ZERO); + SqlNode searchModifier = SqlLiteral.createCharString(segment.getSearchModifier(), null, SqlParserPos.ZERO); sqlNodes.add(searchModifier); return Optional.of(new SqlBasicCall(SQLExtensionOperatorTable.MATCH_AGAINST, sqlNodes, SqlParserPos.ZERO)); } diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java index 25acb57823100a..f899045644fc52 100644 --- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java +++ b/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java @@ -61,7 +61,7 @@ private static List getTrimFunctionParameters(final Collection result = new LinkedList<>(); if (1 == sqlSegments.size()) { result.add(Flag.BOTH.symbol(SqlParserPos.ZERO)); - result.add(SqlLiteral.createCharString(" ", SqlParserPos.ZERO)); + result.add(SqlLiteral.createCharString(" ", null, SqlParserPos.ZERO)); } if (2 == sqlSegments.size()) { result.add(Flag.BOTH.symbol(SqlParserPos.ZERO)); diff --git a/kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml b/kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml index fbfc970006cba7..4314d52b310184 100644 --- a/kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml +++ b/kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml @@ -58,7 +58,7 @@ - + @@ -74,7 +74,7 @@ - + @@ -190,7 +190,7 @@ - + @@ -426,15 +426,15 @@ - + - + - + diff --git a/pom.xml b/pom.xml index 9701321197a367..85068c10a48dde 100644 --- a/pom.xml +++ b/pom.xml @@ -82,7 +82,7 @@ 2.8.0 2.4.10 2.4.9 - 9.3 + 9.6 4.0.10 2.3.31 1.14.8 @@ -90,8 +90,8 @@ 8.0.0 2.3.9 - 1.35.0 - 2.9.3 + 1.36.0 + 2.10.0 6.0.0 5.12.4.Final