This is an automated email from the ASF dual-hosted git repository.

chengzhang 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 92289550403 Upgrade calcite version to latest 1.39.0 (#35035)
92289550403 is described below

commit 922895504036e721163c366ba93efe973586b50f
Author: Zhengqiang Duan <duanzhengqi...@apache.org>
AuthorDate: Wed Mar 19 15:48:36 2025 +0800

    Upgrade calcite version to latest 1.39.0 (#35035)
---
 distribution/proxy/src/main/release-docs/LICENSE   |  8 ++++----
 kernel/sql-federation/optimizer/pom.xml            |  2 +-
 .../cases/federation-delete-sql-cases.xml          |  2 +-
 .../resources/cases/federation-query-sql-cases.xml | 24 ++++++++--------------
 4 files changed, 14 insertions(+), 22 deletions(-)

diff --git a/distribution/proxy/src/main/release-docs/LICENSE 
b/distribution/proxy/src/main/release-docs/LICENSE
index d6e0c48ceab..381805d95ae 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.25.0: https://calcite.apache.org/avatica, Apache 2.0
-    avatica-metrics 1.25.0: https://calcite.apache.org/avatica, Apache 2.0
+    avatica-core 1.26.0: https://calcite.apache.org/avatica, Apache 2.0
+    avatica-metrics 1.26.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.38.0: https://calcite.apache.org, Apache 2.0
-    calcite-linq4j 1.38.0: https://calcite.apache.org, Apache 2.0
+    calcite-core 1.39.0: https://calcite.apache.org, Apache 2.0
+    calcite-linq4j 1.39.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.11.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/pom.xml 
b/kernel/sql-federation/optimizer/pom.xml
index c8bb3e9e169..3108babfa87 100644
--- a/kernel/sql-federation/optimizer/pom.xml
+++ b/kernel/sql-federation/optimizer/pom.xml
@@ -27,7 +27,7 @@
     <name>${project.artifactId}</name>
     
     <properties>
-        <calcite.version>1.38.0</calcite.version>
+        <calcite.version>1.39.0</calcite.version>
     </properties>
     
     <dependencies>
diff --git 
a/kernel/sql-federation/optimizer/src/test/resources/cases/federation-delete-sql-cases.xml
 
b/kernel/sql-federation/optimizer/src/test/resources/cases/federation-delete-sql-cases.xml
index 6d7b7ab5b89..be6623b8023 100644
--- 
a/kernel/sql-federation/optimizer/src/test/resources/cases/federation-delete-sql-cases.xml
+++ 
b/kernel/sql-federation/optimizer/src/test/resources/cases/federation-delete-sql-cases.xml
@@ -22,6 +22,6 @@
     </test-case>
     
     <test-case sql="DELETE FROM t_single_table WHERE id in (SELECT order_id 
FROM t_order)">
-        <assertion expected-result="EnumerableModify(table=[[federate_jdbc, 
t_single_table]], operation=[DELETE], flattened=[false])   
EnumerableCalc(expr#0..3=[{inputs}], proj#0..2=[{exprs}])     
EnumerableHashJoin(condition=[=($1, $3)], joinType=[inner])       
EnumerableScan(table=[[federate_jdbc, t_single_table]], sql=[SELECT * FROM 
`federate_jdbc`.`t_single_table`], dynamicParameters=[null])       
EnumerableAggregate(group=[{0}])         EnumerableScan(table=[[federate_jdbc, 
t_order] [...]
+        <assertion expected-result="EnumerableModify(table=[[federate_jdbc, 
t_single_table]], operation=[DELETE], flattened=[false])   
EnumerableCalc(expr#0..3=[{inputs}], proj#0..2=[{exprs}])     
EnumerableHashJoin(condition=[=($1, $3)], joinType=[inner])       
EnumerableScan(table=[[federate_jdbc, t_single_table]], sql=[SELECT * FROM 
`federate_jdbc`.`t_single_table`], dynamicParameters=[null])       
EnumerableAggregate(group=[{0}])         EnumerableCalc(expr#0..5=[{inputs}], 
expr#6=[C [...]
     </test-case>
 </test-cases>
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 f865905be43..a1e9a2e7998 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
@@ -73,14 +73,6 @@
         <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], 
proj#0..8=[{exprs}])   EnumerableHashJoin(condition=[=($1, $9)], 
joinType=[inner])     EnumerableScan(table=[[federate_jdbc, t_single_table]], 
sql=[SELECT * FROM `federate_jdbc`.`t_single_table`], dynamicParameters=[null]) 
    EnumerableCalc(expr#0..5=[{inputs}], expr#6=[CAST($t0):JavaType(class 
java.lang.Integer)], proj#0..6=[{exprs}])       
EnumerableScan(table=[[federate_jdbc, t_order]], sql=[SELECT * FROM `feder [...]
     </test-case>
     
-    <test-case sql="select t_order_federate.*, 
t_order_item_federate_sharding.* from t_order_federate, 
t_order_item_federate_sharding where t_order_federate.order_id = 
t_order_item_federate_sharding.item_id AND 
t_order_item_federate_sharding.remarks = 't_order_item_federate_sharding' ">
-        <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], 
proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], 
status0=[$t7], remarks=[$t8])   EnumerableHashJoin(condition=[=($3, $9)], 
joinType=[inner])     EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}])       
EnumerableScan(table=[[federate_jdbc, t_order_federate]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_federate`], dynamicParameters=[null])     
EnumerableCalc(exp [...]
-    </test-case>
-    
-    <test-case sql="select o.*, i.* from t_order_federate o, 
t_order_item_federate_sharding i where o.order_id = i.item_id">
-        <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], 
proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], 
status0=[$t7], remarks=[$t8])   EnumerableHashJoin(condition=[=($3, $9)], 
joinType=[inner])     EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}])       
EnumerableScan(table=[[federate_jdbc, t_order_federate]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_federate`], dynamicParameters=[null])     
EnumerableCalc(exp [...]
-    </test-case>
-    
     <test-case sql="SELECT i.* FROM t_order o JOIN t_order_item i ON o.user_id 
= i.user_id AND o.order_id = i.order_id WHERE o.user_id IN (10, 11) AND 
o.order_id BETWEEN 1000 AND 1909 ORDER BY i.item_id">
         <assertion expected-result="EnumerableSort(sort0=[$0], dir0=[ASC])   
EnumerableCalc(expr#0..7=[{inputs}], item_id=[$t2], order_id=[$t3], 
user_id=[$t4], product_id=[$t5], quantity=[$t6], creation_date=[$t7])     
EnumerableHashJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[inner])     
  EnumerableScan(table=[[federate_jdbc, t_order]], sql=[SELECT `order_id`, 
`user_id` FROM `federate_jdbc`.`t_order` WHERE CAST(`user_id` AS SIGNED) IN 
(10, 11) AND (`order_id` >= 1000 AND `orde [...]
     </test-case>
@@ -170,7 +162,7 @@
     </test-case>
     
     <test-case sql="SELECT * FROM t_single_table s INNER JOIN t_user_info o ON 
s.id = o.user_id">
-        <assertion expected-result="EnumerableCalc(expr#0..6=[{inputs}], 
proj#0..2=[{exprs}], user_id=[$t4], information=[$t5])   
EnumerableHashJoin(condition=[=($3, $6)], joinType=[inner])     
EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t1):INTEGER], 
proj#0..3=[{exprs}])       EnumerableScan(table=[[federate_jdbc, 
t_single_table]], sql=[SELECT * FROM `federate_jdbc`.`t_single_table`], 
dynamicParameters=[null])     EnumerableCalc(expr#0..1=[{inputs}], 
expr#2=[CAST($t0):INTEGER], p [...]
+        <assertion expected-result="EnumerableHashJoin(condition=[=($1, $3)], 
joinType=[inner])   EnumerableScan(table=[[federate_jdbc, t_single_table]], 
sql=[SELECT * FROM `federate_jdbc`.`t_single_table`], dynamicParameters=[null]) 
  EnumerableScan(table=[[federate_jdbc, t_user_info]], sql=[SELECT * FROM 
`federate_jdbc`.`t_user_info`], dynamicParameters=[null]) " />
     </test-case>
     
     <test-case sql="SELECT o.*, i.* FROM t_order_federate o, t_order_item i 
WHERE o.order_id = 1000 AND i.item_id = 100000">
@@ -182,15 +174,15 @@
     </test-case>
     
     <test-case sql="SELECT GROUP_CONCAT(i.item_id SEPARATOR ';') AS item_ids 
FROM t_order_federate o INNER JOIN t_order_item_federate_sharding i ON 
o.order_id = i.item_id WHERE i.order_id &gt;= 10000">
-        <assertion expected-result="EnumerableAggregate(group=[{}], 
item_ids=[LISTAGG($0, $1)])   EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[_UTF-8';'], $f0=[$t2], $f1=[$t3])     
EnumerableHashJoin(condition=[=($0, $1)], joinType=[inner])       
EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], 
order_id0=[$t3])         EnumerableScan(table=[[federate_jdbc, 
t_order_federate]], sql=[SELECT * FROM `federate_jdbc`.`t_order_federate`], 
dynamicParameters=[null])       Enumerabl [...]
+        <assertion expected-result="EnumerableAggregate(group=[{}], 
item_ids=[LISTAGG($0, $1)])   EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[_UTF-8';'], $f0=[$t2], $f1=[$t3])     
EnumerableHashJoin(condition=[=($0, $1)], joinType=[inner])       
EnumerableScan(table=[[federate_jdbc, t_order_federate]], sql=[SELECT 
`order_id` FROM `federate_jdbc`.`t_order_federate`], dynamicParameters=[null])  
     EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):VARCHAR CHARACTER 
SET &quot;UTF-8&q [...]
     </test-case>
     
     <test-case sql="select t_order_federate.*, 
t_order_item_federate_sharding.* from t_order_federate, 
t_order_item_federate_sharding where t_order_federate.order_id = 
t_order_item_federate_sharding.item_id AND 
t_order_item_federate_sharding.remarks = 't_order_item_federate_sharding' ">
-        <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], 
proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], 
status0=[$t7], remarks=[$t8])   EnumerableHashJoin(condition=[=($3, $9)], 
joinType=[inner])     EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}])       
EnumerableScan(table=[[federate_jdbc, t_order_federate]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_federate`], dynamicParameters=[null])     
EnumerableCalc(exp [...]
+        <assertion expected-result="EnumerableHashJoin(condition=[=($0, $3)], 
joinType=[inner])   EnumerableScan(table=[[federate_jdbc, t_order_federate]], 
sql=[SELECT * FROM `federate_jdbc`.`t_order_federate`], 
dynamicParameters=[null])   EnumerableScan(table=[[federate_jdbc, 
t_order_item_federate_sharding]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_item_federate_sharding` WHERE `remarks` = 
't_order_item_federate_sharding'], dynamicParameters=[null]) " />
     </test-case>
     
     <test-case sql="select o.*, i.* from t_order_federate o, 
t_order_item_federate_sharding i where o.order_id = i.item_id">
-        <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], 
proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], 
status0=[$t7], remarks=[$t8])   EnumerableHashJoin(condition=[=($3, $9)], 
joinType=[inner])     EnumerableCalc(expr#0..2=[{inputs}], 
expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}])       
EnumerableScan(table=[[federate_jdbc, t_order_federate]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_federate`], dynamicParameters=[null])     
EnumerableCalc(exp [...]
+        <assertion expected-result="EnumerableHashJoin(condition=[=($0, $3)], 
joinType=[inner])   EnumerableScan(table=[[federate_jdbc, t_order_federate]], 
sql=[SELECT * FROM `federate_jdbc`.`t_order_federate`], 
dynamicParameters=[null])   EnumerableScan(table=[[federate_jdbc, 
t_order_item_federate_sharding]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_item_federate_sharding`], dynamicParameters=[null]) " 
/>
     </test-case>
     
     <test-case sql="SELECT * FROM t_order o INNER JOIN t_order_item i ON 
o.order_id = i.order_id WHERE o.user_id = ? ORDER BY o.order_id, 7">
@@ -390,7 +382,7 @@
     </test-case>
     
     <test-case sql="SELECT * FROM (SELECT o.* FROM t_order o WHERE o.user_id 
IN (10, 11, 12)) AS t, t_order_item i WHERE t.order_id = i.order_id AND 
t.order_id &gt; 10 ORDER BY item_id">
-        <assertion expected-result="EnumerableSort(sort0=[$6], dir0=[ASC])   
EnumerableHashJoin(condition=[=($0, $7)], joinType=[inner])     
EnumerableScan(table=[[federate_jdbc, t_order]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order` WHERE CAST(`user_id` AS SIGNED) IN (10, 11, 12) AND 
`order_id` > 10], dynamicParameters=[null])     
EnumerableScan(table=[[federate_jdbc, t_order_item]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_item` WHERE `order_id` > 10], 
dynamicParameters=[null]) " />
+        <assertion expected-result="EnumerableSort(sort0=[$6], dir0=[ASC])   
EnumerableHashJoin(condition=[=($0, $7)], joinType=[inner])     
EnumerableScan(table=[[federate_jdbc, t_order]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order` WHERE CAST(`user_id` AS SIGNED) IN (10, 11, 12) AND 
`order_id` &gt; 10], dynamicParameters=[null])     
EnumerableScan(table=[[federate_jdbc, t_order_item]], sql=[SELECT * FROM 
`federate_jdbc`.`t_order_item` WHERE `order_id` &gt; 10], 
dynamicParameters=[null]) " />
     </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">
@@ -398,7 +390,7 @@
     </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) &gt; 10 ORDER BY max_price">
-        <assertion expected-result="EnumerableSort(sort0=[$0], dir0=[ASC])   
EnumerableCalc(expr#0..5=[{inputs}], expr#6=[0], expr#7=[=($t4, $t6)], 
expr#8=[null:JavaType(class java.math.BigDecimal)], expr#9=[CASE($t7, $t8, 
$t3)], expr#10=[/($t9, $t4)], expr#11=[CAST($t10):JavaType(class 
java.math.BigDecimal)], expr#12=[10:DECIMAL(10, 0)], expr#13=[>($t9, $t12)], 
max_price=[$t1], min_price=[$t2], sum_price=[$t9], avg_price=[$t11], 
count=[$t5], $condition=[$t13])     EnumerableAggregate(gr [...]
+        <assertion expected-result="EnumerableSort(sort0=[$0], dir0=[ASC])   
EnumerableCalc(expr#0..5=[{inputs}], expr#6=[0], expr#7=[=($t4, $t6)], 
expr#8=[null:JavaType(class java.math.BigDecimal)], expr#9=[CASE($t7, $t8, 
$t3)], expr#10=[/($t9, $t4)], expr#11=[CAST($t10):JavaType(class 
java.math.BigDecimal)], expr#12=[10], expr#13=[>($t9, $t12)], max_price=[$t1], 
min_price=[$t2], sum_price=[$t9], avg_price=[$t11], count=[$t5], 
$condition=[$t13])     EnumerableAggregate(group=[{0}], max_ [...]
     </test-case>
     
     <test-case sql="SELECT * FROM t_order UNION ALL SELECT * FROM t_order 
ORDER BY order_id LIMIT 5, 5">
@@ -434,7 +426,7 @@
     </test-case>
     
     <test-case sql="WITH cte AS (SELECT 1 AS col1, 2 AS col2 UNION ALL SELECT 
3, 4) SELECT col1, col2 FROM cte">
-        <assertion expected-result="EnumerableUnion(all=[true])   
EnumerableValues(tuples=[[{ 1, 2 }]])   EnumerableValues(tuples=[[{ 3, 4 }]]) " 
/>
+        <assertion expected-result="EnumerableValues(tuples=[[{ 1, 2 }, { 3, 4 
}]]) " />
     </test-case>
     
     <test-case sql="WITH cte1(col1, col2, col3) AS (SELECT id, bit_column, 
tiny_int_column FROM multi_types_first), cte2(col1, col2, col3) AS (SELECT id, 
bit_column, tiny_int_column FROM multi_types_second) SELECT * FROM cte1 inner 
join cte2 on cte1.col1 = cte2.col1">
@@ -442,6 +434,6 @@
     </test-case>
     
     <test-case sql="WITH cte1(col1, col2, col3) AS (SELECT 1, 2, 3 UNION ALL 
SELECT 4, 5, 6), cte2(col1, col2, col3) AS (SELECT 1, 2, 3 UNION ALL SELECT 4, 
5, 6) SELECT cte1.* FROM cte1 inner join cte2 on cte1.col1 = cte2.col1 WHERE 
cte1.col1 = 1">
-        <assertion expected-result="EnumerableCalc(expr#0..3=[{inputs}], 
proj#0..2=[{exprs}])   EnumerableHashJoin(condition=[=($0, $3)], 
joinType=[inner])     EnumerableUnion(all=[true])       
EnumerableValues(tuples=[[{ 1, 2, 3 }]])       EnumerableValues(tuples=[[]])    
 EnumerableUnion(all=[true])       EnumerableCalc(expr#0..2=[{inputs}], 
EXPR$0=[$t0])         EnumerableValues(tuples=[[{ 1, 2, 3 }]])       
EnumerableCalc(expr#0..2=[{inputs}], EXPR$0=[$t0])         EnumerableValues(t 
[...]
+        <assertion expected-result="EnumerableCalc(expr#0..3=[{inputs}], 
proj#0..2=[{exprs}])   EnumerableHashJoin(condition=[=($0, $3)], 
joinType=[inner])     EnumerableCalc(expr#0..2=[{inputs}], expr#3=[1], 
expr#4=[=($t0, $t3)], proj#0..2=[{exprs}], $condition=[$t4])       
EnumerableValues(tuples=[[{ 1, 2, 3 }, { 4, 5, 6 }]])     
EnumerableCalc(expr#0..2=[{inputs}], expr#3=[1], expr#4=[=($t0, $t3)], 
EXPR$0=[$t0], $condition=[$t4])       EnumerableValues(tuples=[[{ 1, 2, 3 }, { 
4, 5, 6  [...]
     </test-case>
 </test-cases>

Reply via email to