This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git
The following commit(s) were added to refs/heads/master by this push:
new efef9e41411 Update Calcite to 1.35.0 to support the use of
`TIMESTAMP_TRUNC` functions under sqlFederation (#28279)
efef9e41411 is described below
commit efef9e41411227a8052ff0e2c946b70b089939a2
Author: Ling Hengqian <[email protected]>
AuthorDate: Mon Aug 28 11:46:37 2023 +0800
Update Calcite to 1.35.0 to support the use of `TIMESTAMP_TRUNC` functions
under sqlFederation (#28279)
---
distribution/proxy-native/src/main/release-docs/LICENSE | 8 ++++----
distribution/proxy/src/main/release-docs/LICENSE | 8 ++++----
.../converter/statement/select/SelectStatementConverter.java | 2 +-
.../core/src/test/resources/cases/federation-query-sql-cases.xml | 8 ++++----
pom.xml | 2 +-
5 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/distribution/proxy-native/src/main/release-docs/LICENSE
b/distribution/proxy-native/src/main/release-docs/LICENSE
index 00b8283675c..ec977cc692f 100644
--- a/distribution/proxy-native/src/main/release-docs/LICENSE
+++ b/distribution/proxy-native/src/main/release-docs/LICENSE
@@ -219,11 +219,11 @@ The text of each license is the standard Apache 2.0
license.
aggdesigner-algorithm 6.0: Apache 2.0
apiguardian-api 1.1.2: https://github.com/apiguardian-team/apiguardian,
Apache 2.0
audience-annotations 0.12.0: https://github.com/apache/yetus, Apache 2.0
- avatica-core 1.22.0: https://calcite.apache.org/avatica, Apache 2.0
- avatica-metrics 1.22.0: https://calcite.apache.org/avatica, Apache 2.0
+ 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.32.0: https://calcite.apache.org, Apache 2.0
- calcite-linq4j 1.32.0: https://calcite.apache.org, 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
commons-codec 1.15: https://github.com/apache/commons-codec, Apache 2.0
commons-collections4 4.4: https://github.com/apache/commons-collections,
Apache 2.0
commons-exec 1.3: https://github.com/apache/commons-exec, Apache 2.0
diff --git a/distribution/proxy/src/main/release-docs/LICENSE
b/distribution/proxy/src/main/release-docs/LICENSE
index 00b8283675c..ec977cc692f 100644
--- a/distribution/proxy/src/main/release-docs/LICENSE
+++ b/distribution/proxy/src/main/release-docs/LICENSE
@@ -219,11 +219,11 @@ The text of each license is the standard Apache 2.0
license.
aggdesigner-algorithm 6.0: Apache 2.0
apiguardian-api 1.1.2: https://github.com/apiguardian-team/apiguardian,
Apache 2.0
audience-annotations 0.12.0: https://github.com/apache/yetus, Apache 2.0
- avatica-core 1.22.0: https://calcite.apache.org/avatica, Apache 2.0
- avatica-metrics 1.22.0: https://calcite.apache.org/avatica, Apache 2.0
+ 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.32.0: https://calcite.apache.org, Apache 2.0
- calcite-linq4j 1.32.0: https://calcite.apache.org, 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
commons-codec 1.15: https://github.com/apache/commons-codec, Apache 2.0
commons-collections4 4.4: https://github.com/apache/commons-collections,
Apache 2.0
commons-exec 1.3: https://github.com/apache/commons-exec, Apache 2.0
diff --git
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/select/SelectStatementConverter.java
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/select/SelectStatementConverter.java
index bab0b9feb32..86685b01eac 100644
---
a/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/select/SelectStatementConverter.java
+++
b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/compiler/converter/statement/select/SelectStatementConverter.java
@@ -69,7 +69,7 @@ public final class SelectStatementConverter implements
SQLStatementConverter<Sel
SqlNodeList groupBy = selectStatement.getGroupBy().flatMap(optional ->
new GroupByConverter().convert(optional)).orElse(null);
SqlNode having = selectStatement.getHaving().flatMap(optional -> new
HavingConverter().convert(optional)).orElse(null);
SqlNodeList window =
SelectStatementHandler.getWindowSegment(selectStatement).flatMap(new
WindowConverter()::convert).orElse(SqlNodeList.EMPTY);
- return new SqlSelect(SqlParserPos.ZERO, distinct, projection, from,
where, groupBy, having, window, null, null, null, SqlNodeList.EMPTY);
+ return new SqlSelect(SqlParserPos.ZERO, distinct, projection, from,
where, groupBy, having, window, null, null, null, null, SqlNodeList.EMPTY);
}
private SqlNode convertCombine(final SqlNode sqlNode, final
SelectStatement selectStatement) {
diff --git
a/kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
b/kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
index 9585657c322..2438f44d052 100644
---
a/kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
+++
b/kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
@@ -46,15 +46,15 @@
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id
FROM t_order_federate WHERE EXISTS (SELECT * FROM t_user_info WHERE
t_order_federate.user_id = t_user_info.user_id)">
- <assertion expected-result="EnumerableCalc(expr#0..3=[{inputs}],
expr#4=[IS NOT NULL($t3)], proj#0..1=[{exprs}], $condition=[$t4])
EnumerableCorrelate(correlation=[$cor0], joinType=[left],
requiredColumns=[{1}]) EnumerableScan(table=[[federate_jdbc,
t_order_federate]], sql=[SELECT * FROM `federate_jdbc`.`t_order_federate`])
EnumerableAggregate(group=[{}], agg#0=[MIN($0)])
EnumerableCalc(expr#0..1=[{inputs}], expr#2=[true], expr#3=[$cor0],
expr#4=[$t3.user_id], exp [...]
+ <assertion expected-result="EnumerableScan(table=[[federate_jdbc,
t_order_federate]], sql=[SELECT `order_id`, `user_id` FROM
`federate_jdbc`.`t_order_federate` WHERE EXISTS (SELECT * FROM
`federate_jdbc`.`t_user_info` WHERE CAST(`t_order_federate`.`user_id` AS CHAR)
= CAST(`user_id` AS CHAR))]) " />
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id
FROM t_order_federate WHERE t_order_federate.user_id IN (SELECT
t_user_info.user_id FROM t_user_info)">
- <assertion expected-result="EnumerableCalc(expr#0..2=[{inputs}],
proj#0..1=[{exprs}]) EnumerableHashJoin(condition=[=($1, $2)],
joinType=[inner]) EnumerableScan(table=[[federate_jdbc, t_order_federate]],
sql=[SELECT `order_id`, `user_id` FROM `federate_jdbc`.`t_order_federate`])
EnumerableAggregate(group=[{0}]) EnumerableScan(table=[[federate_jdbc,
t_user_info]], sql=[SELECT `user_id` FROM `federate_jdbc`.`t_user_info`]) " />
+ <assertion expected-result="EnumerableScan(table=[[federate_jdbc,
t_order_federate]], sql=[SELECT `order_id`, `user_id` FROM
`federate_jdbc`.`t_order_federate` WHERE `user_id` IN (SELECT `user_id` FROM
`federate_jdbc`.`t_user_info`)]) " />
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id
FROM t_order_federate WHERE user_id BETWEEN (SELECT user_id FROM t_user_info
WHERE user_id = 1) AND (SELECT user_id FROM t_user_info WHERE user_id = 3)">
- <assertion expected-result="EnumerableCalc(expr#0..2=[{inputs}],
proj#0..1=[{exprs}]) EnumerableNestedLoopJoin(condition=[<=($1, $2)],
joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], proj#0..1=[{exprs}])
EnumerableNestedLoopJoin(condition=[>=($1, $2)], joinType=[inner])
EnumerableScan(table=[[federate_jdbc, t_order_federate]], sql=[SELECT
`order_id`, `user_id` FROM `federate_jdbc`.`t_order_federate`])
EnumerableAggregate(group=[{}], agg#0= [...]
+ <assertion expected-result="EnumerableScan(table=[[federate_jdbc,
t_order_federate]], sql=[SELECT `order_id`, `user_id` FROM
`federate_jdbc`.`t_order_federate` WHERE `user_id` >= (((SELECT `user_id`
FROM `federate_jdbc`.`t_user_info` WHERE `user_id` = 1))) AND `user_id` <=
(((SELECT `user_id` FROM `federate_jdbc`.`t_user_info` WHERE `user_id` = 3)))])
" />
</test-case>
<test-case sql="SELECT order_id, user_id FROM t_order_federate UNION
SELECT 1, user_id FROM t_user_info WHERE information = 'before'">
@@ -398,7 +398,7 @@
</test-case>
<test-case sql="SELECT * FROM t_order o WHERE o.order_id IN (SELECT
i.order_id FROM t_order_item i INNER JOIN t_product p ON i.product_id =
p.product_id WHERE p.product_id = 10) ORDER BY order_id">
- <assertion expected-result="EnumerableSort(sort0=[$0], dir0=[ASC])
EnumerableCalc(expr#0..6=[{inputs}], proj#0..5=[{exprs}])
EnumerableHashJoin(condition=[=($0, $6)], joinType=[inner])
EnumerableScan(table=[[federate_jdbc, t_order]], sql=[SELECT * FROM
`federate_jdbc`.`t_order`]) EnumerableAggregate(group=[{0}])
EnumerableCalc(expr#0..2=[{inputs}], order_id=[$t0])
EnumerableHashJoin(condition=[=($1, $2)], joinType=[inner])
Enumerabl [...]
+ <assertion expected-result="EnumerableSort(sort0=[$0], dir0=[ASC])
EnumerableScan(table=[[federate_jdbc, t_order]], sql=[SELECT * FROM
`federate_jdbc`.`t_order` WHERE `order_id` IN (SELECT `t_order_item`.`order_id`
FROM `federate_jdbc`.`t_order_item` INNER JOIN `federate_jdbc`.`t_product` ON
`t_order_item`.`product_id` = `t_product`.`product_id` WHERE
CAST(`t_product`.`product_id` AS SIGNED) = 10)]) " />
</test-case>
<test-case sql="SELECT MAX(p.price) AS max_price, MIN(p.price) AS
min_price, SUM(p.price) AS sum_price, AVG(p.price) AS avg_price, COUNT(1) AS
count FROM t_order o INNER JOIN t_order_item i ON o.order_id = i.order_id INNER
JOIN t_product p ON i.product_id = p.product_id GROUP BY o.order_id HAVING
SUM(p.price) > 10 ORDER BY max_price">
diff --git a/pom.xml b/pom.xml
index 2e4c33dcf24..aa743a7b073 100644
--- a/pom.xml
+++ b/pom.xml
@@ -84,7 +84,7 @@
<activation-api.version>1.2.0</activation-api.version>
<truffle-api.version>21.2.0</truffle-api.version>
- <calcite.version>1.32.0</calcite.version>
+ <calcite.version>1.35.0</calcite.version>
<immutables.version>2.9.3</immutables.version>
<netty.version>4.1.90.Final</netty.version>
<bouncycastle.version>1.70</bouncycastle.version>