strongduanmu opened a new issue, #21388:
URL: https://github.com/apache/shardingsphere/issues/21388

   ## Bug Report
   
   ### Which version of ShardingSphere did you use?
   
   
https://github.com/apache/shardingsphere/commit/e2f2e4491006d7e57615b1926913921e9414b9df
   
   ### Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?
   
   ShardingSphere-Proxy
   
   ### Expected behavior
   
   Execute `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) > 10000;` successfully.
   
   ### Actual behavior
   
   ```sql
   [ERROR] 2022-10-08 17:23:24.832 [Connection-1-ThreadExecutor] 
o.a.s.p.f.c.CommandExecutorTask - Exception occur: 
   org.apache.calcite.plan.RelOptPlanner$CannotPlanException: There are not 
enough rules to produce a node with desired properties: convention=ENUMERABLE, 
sort=[].
   Missing conversion is LogicalAggregate[convention: NONE -> ENUMERABLE]
   There is 1 empty subset: rel#999:RelSubset#10.ENUMERABLE.[], the relevant 
part of the original plan is as follows
   972:LogicalAggregate(group=[{0}], sum_price=[SUM($1)], avg_price=[AVG($1)], 
count=[COUNT()])
     970:LogicalCalc(subset=[rel#971:RelSubset#9.NONE.[]], 
expr#0..3=[{inputs}], order_id=[$t0], price=[$t3])
       968:LogicalJoin(subset=[rel#969:RelSubset#8.NONE.[]], condition=[=($1, 
$2)], joinType=[inner])
         963:LogicalCalc(subset=[rel#964:RelSubset#5.NONE.[]], 
expr#0..2=[{inputs}], order_id=[$t0], product_id=[$t2])
           961:LogicalJoin(subset=[rel#962:RelSubset#4.NONE.[]], 
condition=[=($0, $1)], joinType=[inner])
             956:LogicalCalc(subset=[rel#957:RelSubset#1.NONE.[]], 
expr#0..5=[{inputs}], order_id=[$t0])
               892:LogicalTableScan(subset=[rel#955:RelSubset#0.NONE.[]], 
table=[[public, t_order]])
             959:LogicalCalc(subset=[rel#960:RelSubset#3.NONE.[]], 
expr#0..5=[{inputs}], order_id=[$t1], product_id=[$t3])
               894:LogicalTableScan(subset=[rel#958:RelSubset#2.NONE.[]], 
table=[[public, t_order_item]])
         966:LogicalCalc(subset=[rel#967:RelSubset#7.NONE.[]], 
expr#0..5=[{inputs}], product_id=[$t0], price=[$t3])
           898:LogicalTableScan(subset=[rel#965:RelSubset#6.NONE.[]], 
table=[[public, t_product]])
   
   Root: rel#976:RelSubset#11.ENUMERABLE.[]
   Original rel:
   LogicalCalc(subset=[rel#976:RelSubset#11.ENUMERABLE.[]], 
expr#0..3=[{inputs}], sum_price=[$t1], avg_price=[$t2], count=[$t3]): rowcount 
= 2250.0, cumulative cost = {2250.0 rows, 15750.0 cpu, 0.0 io}, id = 974
     LogicalAggregate(subset=[rel#973:RelSubset#10.NONE.[]], group=[{0}], 
sum_price=[SUM($1)], avg_price=[AVG($1)], count=[COUNT()]): rowcount = 2250.0, 
cumulative cost = {3121.8751072883606 rows, 0.0 cpu, 0.0 io}, id = 972
       LogicalCalc(subset=[rel#971:RelSubset#9.NONE.[]], expr#0..3=[{inputs}], 
order_id=[$t0], price=[$t3]): rowcount = 22500.0, cumulative cost = {22500.0 
rows, 135000.0 cpu, 0.0 io}, id = 970
         LogicalJoin(subset=[rel#969:RelSubset#8.NONE.[]], condition=[=($1, 
$2)], joinType=[inner]): rowcount = 22500.0, cumulative cost = {22500.0 rows, 
0.0 cpu, 0.0 io}, id = 968
           LogicalCalc(subset=[rel#964:RelSubset#5.NONE.[]], 
expr#0..2=[{inputs}], order_id=[$t0], product_id=[$t2]): rowcount = 1500.0, 
cumulative cost = {1500.0 rows, 7500.0 cpu, 0.0 io}, id = 963
             LogicalJoin(subset=[rel#962:RelSubset#4.NONE.[]], condition=[=($0, 
$1)], joinType=[inner]): rowcount = 1500.0, cumulative cost = {1500.0 rows, 0.0 
cpu, 0.0 io}, id = 961
               LogicalCalc(subset=[rel#957:RelSubset#1.NONE.[]], 
expr#0..5=[{inputs}], order_id=[$t0]): rowcount = 100.0, cumulative cost = 
{100.0 rows, 700.0 cpu, 0.0 io}, id = 956
                 LogicalTableScan(subset=[rel#955:RelSubset#0.NONE.[]], 
table=[[public, t_order]]): rowcount = 100.0, cumulative cost = {100.0 rows, 
101.0 cpu, 0.0 io}, id = 892
               LogicalCalc(subset=[rel#960:RelSubset#3.NONE.[]], 
expr#0..5=[{inputs}], order_id=[$t1], product_id=[$t3]): rowcount = 100.0, 
cumulative cost = {100.0 rows, 800.0 cpu, 0.0 io}, id = 959
                 LogicalTableScan(subset=[rel#958:RelSubset#2.NONE.[]], 
table=[[public, t_order_item]]): rowcount = 100.0, cumulative cost = {100.0 
rows, 101.0 cpu, 0.0 io}, id = 894
           LogicalCalc(subset=[rel#967:RelSubset#7.NONE.[]], 
expr#0..5=[{inputs}], product_id=[$t0], price=[$t3]): rowcount = 100.0, 
cumulative cost = {100.0 rows, 800.0 cpu, 0.0 io}, id = 966
             LogicalTableScan(subset=[rel#965:RelSubset#6.NONE.[]], 
table=[[public, t_product]]): rowcount = 100.0, cumulative cost = {100.0 rows, 
101.0 cpu, 0.0 io}, id = 898
   
   Sets:
   Set#0, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.lang.Integer) user_id, JavaType(class java.lang.String) 
status, JavaType(class java.lang.Integer) merchant_id, JavaType(class 
java.lang.String) remark, JavaType(class java.sql.Date) creation_date)
        rel#955:RelSubset#0.NONE.[], best=null
                rel#892:LogicalTableScan.NONE.[](table=[public, t_order]), 
rowcount=100.0, cumulative cost={inf}
        rel#979:RelSubset#0.ENUMERABLE.[], best=rel#978
                rel#978:EnumerableTableScan.ENUMERABLE.[](table=[public, 
t_order]), rowcount=100.0, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io}
   Set#1, type: RecordType(JavaType(class java.lang.Integer) order_id)
        rel#957:RelSubset#1.NONE.[], best=null
                
rel#956:LogicalCalc.NONE.[](input=RelSubset#955,expr#0..5={inputs},0=$t0), 
rowcount=100.0, cumulative cost={inf}
        rel#981:RelSubset#1.ENUMERABLE.[], best=rel#980
                
rel#980:EnumerableCalc.ENUMERABLE.[](input=RelSubset#979,expr#0..5={inputs},0=$t0),
 rowcount=100.0, cumulative cost={200.0 rows, 801.0 cpu, 0.0 io}
   Set#2, type: RecordType(JavaType(class java.lang.Integer) item_id, 
JavaType(class java.lang.Integer) order_id, JavaType(class java.lang.Integer) 
user_id, JavaType(class java.lang.Integer) product_id, JavaType(class 
java.lang.Integer) quantity, JavaType(class java.sql.Date) creation_date)
        rel#958:RelSubset#2.NONE.[], best=null
                rel#894:LogicalTableScan.NONE.[](table=[public, t_order_item]), 
rowcount=100.0, cumulative cost={inf}
        rel#983:RelSubset#2.ENUMERABLE.[], best=rel#982
                rel#982:EnumerableTableScan.ENUMERABLE.[](table=[public, 
t_order_item]), rowcount=100.0, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io}
   Set#3, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.lang.Integer) product_id)
        rel#960:RelSubset#3.NONE.[], best=null
                
rel#959:LogicalCalc.NONE.[](input=RelSubset#958,expr#0..5={inputs},0=$t1,1=$t3),
 rowcount=100.0, cumulative cost={inf}
        rel#985:RelSubset#3.ENUMERABLE.[], best=rel#984
                
rel#984:EnumerableCalc.ENUMERABLE.[](input=RelSubset#983,expr#0..5={inputs},0=$t1,1=$t3),
 rowcount=100.0, cumulative cost={200.0 rows, 901.0 cpu, 0.0 io}
   Set#4, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.lang.Integer) order_id0, JavaType(class java.lang.Integer) 
product_id)
        rel#962:RelSubset#4.NONE.[], best=null
                
rel#961:LogicalJoin.NONE.[](left=RelSubset#957,right=RelSubset#960,condition==($0,
 $1),joinType=inner), rowcount=1500.0, cumulative cost={inf}
        rel#987:RelSubset#4.ENUMERABLE.[], best=rel#986
                
rel#986:EnumerableHashJoin.ENUMERABLE.[](left=RelSubset#981,right=RelSubset#985,condition==($0,
 $1),joinType=inner), rowcount=1500.0, cumulative cost={2461.517018598809 rows, 
1702.0 cpu, 0.0 io}
   Set#5, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.lang.Integer) product_id)
        rel#964:RelSubset#5.NONE.[], best=null
                
rel#963:LogicalCalc.NONE.[](input=RelSubset#962,expr#0..2={inputs},0=$t0,1=$t2),
 rowcount=1500.0, cumulative cost={inf}
        rel#989:RelSubset#5.ENUMERABLE.[], best=rel#988
                
rel#988:EnumerableCalc.ENUMERABLE.[](input=RelSubset#987,expr#0..2={inputs},0=$t0,1=$t2),
 rowcount=1500.0, cumulative cost={3961.517018598809 rows, 9202.0 cpu, 0.0 io}
   Set#6, type: RecordType(JavaType(class java.lang.Integer) product_id, 
JavaType(class java.lang.String) product_name, JavaType(class 
java.lang.Integer) category_id, JavaType(class java.math.BigDecimal) price, 
JavaType(class java.lang.String) status, JavaType(class java.sql.Date) 
creation_date)
        rel#965:RelSubset#6.NONE.[], best=null
                rel#898:LogicalTableScan.NONE.[](table=[public, t_product]), 
rowcount=100.0, cumulative cost={inf}
        rel#991:RelSubset#6.ENUMERABLE.[], best=rel#990
                rel#990:EnumerableTableScan.ENUMERABLE.[](table=[public, 
t_product]), rowcount=100.0, cumulative cost={100.0 rows, 101.0 cpu, 0.0 io}
   Set#7, type: RecordType(JavaType(class java.lang.Integer) product_id, 
JavaType(class java.math.BigDecimal) price)
        rel#967:RelSubset#7.NONE.[], best=null
                
rel#966:LogicalCalc.NONE.[](input=RelSubset#965,expr#0..5={inputs},0=$t0,1=$t3),
 rowcount=100.0, cumulative cost={inf}
        rel#993:RelSubset#7.ENUMERABLE.[], best=rel#992
                
rel#992:EnumerableCalc.ENUMERABLE.[](input=RelSubset#991,expr#0..5={inputs},0=$t0,1=$t3),
 rowcount=100.0, cumulative cost={200.0 rows, 901.0 cpu, 0.0 io}
   Set#8, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.lang.Integer) product_id, JavaType(class java.lang.Integer) 
product_id0, JavaType(class java.math.BigDecimal) price)
        rel#969:RelSubset#8.NONE.[], best=null
                
rel#968:LogicalJoin.NONE.[](left=RelSubset#964,right=RelSubset#967,condition==($1,
 $2),joinType=inner), rowcount=22500.0, cumulative cost={inf}
        rel#995:RelSubset#8.ENUMERABLE.[], best=rel#994
                
rel#994:EnumerableHashJoin.ENUMERABLE.[](left=RelSubset#989,right=RelSubset#993,condition==($1,
 $2),joinType=inner), rowcount=22500.0, cumulative cost={37731.347599234265 
rows, 10103.0 cpu, 0.0 io}
   Set#9, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.math.BigDecimal) price)
        rel#971:RelSubset#9.NONE.[], best=null
                
rel#970:LogicalCalc.NONE.[](input=RelSubset#969,expr#0..3={inputs},0=$t0,1=$t3),
 rowcount=22500.0, cumulative cost={inf}
        rel#997:RelSubset#9.ENUMERABLE.[], best=rel#996
                
rel#996:EnumerableCalc.ENUMERABLE.[](input=RelSubset#995,expr#0..3={inputs},0=$t0,1=$t3),
 rowcount=22500.0, cumulative cost={60231.347599234265 rows, 145103.0 cpu, 0.0 
io}
   Set#10, type: RecordType(JavaType(class java.lang.Integer) order_id, 
JavaType(class java.math.BigDecimal) sum_price, JavaType(class 
java.math.BigDecimal) avg_price, BIGINT count)
        rel#973:RelSubset#10.NONE.[], best=null
                
rel#972:LogicalAggregate.NONE.[](input=RelSubset#971,group={0},sum_price=SUM($1),avg_price=AVG($1),count=COUNT()),
 rowcount=2250.0, cumulative cost={inf}
        rel#999:RelSubset#10.ENUMERABLE.[], best=null
   Set#11, type: RecordType(JavaType(class java.math.BigDecimal) sum_price, 
JavaType(class java.math.BigDecimal) avg_price, BIGINT count)
        rel#975:RelSubset#11.NONE.[], best=null
                
rel#974:LogicalCalc.NONE.[](input=RelSubset#973,expr#0..3={inputs},0=$t1,1=$t2,2=$t3),
 rowcount=2250.0, cumulative cost={inf}
        rel#976:RelSubset#11.ENUMERABLE.[], best=null
                
rel#977:AbstractConverter.ENUMERABLE.[](input=RelSubset#975,convention=ENUMERABLE,sort=[]),
 rowcount=2250.0, cumulative cost={inf}
                
rel#1000:EnumerableCalc.ENUMERABLE.[](input=RelSubset#999,expr#0..3={inputs},0=$t1,1=$t2,2=$t3),
 rowcount=2250.0, cumulative cost={inf}
   
   Graphviz:
   digraph G {
        root [style=filled,label="Root"];
        subgraph cluster0{
                label="Set 0 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.lang.Integer) user_id, JavaType(class 
java.lang.String) status, JavaType(class java.lang.Integer) merchant_id, 
JavaType(class java.lang.String) remark, JavaType(class java.sql.Date) 
creation_date)";
                rel892 [label="rel#892:LogicalTableScan\ntable=[public, 
t_order]\nrows=100.0, cost={inf}",shape=box]
                rel978 [label="rel#978:EnumerableTableScan\ntable=[public, 
t_order]\nrows=100.0, cost={100.0 rows, 101.0 cpu, 0.0 
io}",color=blue,shape=box]
                subset955 [label="rel#955:RelSubset#0.NONE.[]"]
                subset979 [label="rel#979:RelSubset#0.ENUMERABLE.[]"]
        }
        subgraph cluster1{
                label="Set 1 RecordType(JavaType(class java.lang.Integer) 
order_id)";
                rel956 
[label="rel#956:LogicalCalc\ninput=RelSubset#955,expr#0..5={inputs},0=$t0\nrows=100.0,
 cost={inf}",shape=box]
                rel980 
[label="rel#980:EnumerableCalc\ninput=RelSubset#979,expr#0..5={inputs},0=$t0\nrows=100.0,
 cost={200.0 rows, 801.0 cpu, 0.0 io}",color=blue,shape=box]
                subset957 [label="rel#957:RelSubset#1.NONE.[]"]
                subset981 [label="rel#981:RelSubset#1.ENUMERABLE.[]"]
        }
        subgraph cluster2{
                label="Set 2 RecordType(JavaType(class java.lang.Integer) 
item_id, JavaType(class java.lang.Integer) order_id, JavaType(class 
java.lang.Integer) user_id, JavaType(class java.lang.Integer) product_id, 
JavaType(class java.lang.Integer) quantity, JavaType(class java.sql.Date) 
creation_date)";
                rel894 [label="rel#894:LogicalTableScan\ntable=[public, 
t_order_item]\nrows=100.0, cost={inf}",shape=box]
                rel982 [label="rel#982:EnumerableTableScan\ntable=[public, 
t_order_item]\nrows=100.0, cost={100.0 rows, 101.0 cpu, 0.0 
io}",color=blue,shape=box]
                subset958 [label="rel#958:RelSubset#2.NONE.[]"]
                subset983 [label="rel#983:RelSubset#2.ENUMERABLE.[]"]
        }
        subgraph cluster3{
                label="Set 3 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.lang.Integer) product_id)";
                rel959 
[label="rel#959:LogicalCalc\ninput=RelSubset#958,expr#0..5={inputs},0=$t1,1=$t3\nrows=100.0,
 cost={inf}",shape=box]
                rel984 
[label="rel#984:EnumerableCalc\ninput=RelSubset#983,expr#0..5={inputs},0=$t1,1=$t3\nrows=100.0,
 cost={200.0 rows, 901.0 cpu, 0.0 io}",color=blue,shape=box]
                subset960 [label="rel#960:RelSubset#3.NONE.[]"]
                subset985 [label="rel#985:RelSubset#3.ENUMERABLE.[]"]
        }
        subgraph cluster4{
                label="Set 4 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.lang.Integer) order_id0, JavaType(class 
java.lang.Integer) product_id)";
                rel961 
[label="rel#961:LogicalJoin\nleft=RelSubset#957,right=RelSubset#960,condition==($0,
 $1),joinType=inner\nrows=1500.0, cost={inf}",shape=box]
                rel986 
[label="rel#986:EnumerableHashJoin\nleft=RelSubset#981,right=RelSubset#985,condition==($0,
 $1),joinType=inner\nrows=1500.0, cost={2461.517018598809 rows, 1702.0 cpu, 0.0 
io}",color=blue,shape=box]
                subset962 [label="rel#962:RelSubset#4.NONE.[]"]
                subset987 [label="rel#987:RelSubset#4.ENUMERABLE.[]"]
        }
        subgraph cluster5{
                label="Set 5 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.lang.Integer) product_id)";
                rel963 
[label="rel#963:LogicalCalc\ninput=RelSubset#962,expr#0..2={inputs},0=$t0,1=$t2\nrows=1500.0,
 cost={inf}",shape=box]
                rel988 
[label="rel#988:EnumerableCalc\ninput=RelSubset#987,expr#0..2={inputs},0=$t0,1=$t2\nrows=1500.0,
 cost={3961.517018598809 rows, 9202.0 cpu, 0.0 io}",color=blue,shape=box]
                subset964 [label="rel#964:RelSubset#5.NONE.[]"]
                subset989 [label="rel#989:RelSubset#5.ENUMERABLE.[]"]
        }
        subgraph cluster6{
                label="Set 6 RecordType(JavaType(class java.lang.Integer) 
product_id, JavaType(class java.lang.String) product_name, JavaType(class 
java.lang.Integer) category_id, JavaType(class java.math.BigDecimal) price, 
JavaType(class java.lang.String) status, JavaType(class java.sql.Date) 
creation_date)";
                rel898 [label="rel#898:LogicalTableScan\ntable=[public, 
t_product]\nrows=100.0, cost={inf}",shape=box]
                rel990 [label="rel#990:EnumerableTableScan\ntable=[public, 
t_product]\nrows=100.0, cost={100.0 rows, 101.0 cpu, 0.0 
io}",color=blue,shape=box]
                subset965 [label="rel#965:RelSubset#6.NONE.[]"]
                subset991 [label="rel#991:RelSubset#6.ENUMERABLE.[]"]
        }
        subgraph cluster7{
                label="Set 7 RecordType(JavaType(class java.lang.Integer) 
product_id, JavaType(class java.math.BigDecimal) price)";
                rel966 
[label="rel#966:LogicalCalc\ninput=RelSubset#965,expr#0..5={inputs},0=$t0,1=$t3\nrows=100.0,
 cost={inf}",shape=box]
                rel992 
[label="rel#992:EnumerableCalc\ninput=RelSubset#991,expr#0..5={inputs},0=$t0,1=$t3\nrows=100.0,
 cost={200.0 rows, 901.0 cpu, 0.0 io}",color=blue,shape=box]
                subset967 [label="rel#967:RelSubset#7.NONE.[]"]
                subset993 [label="rel#993:RelSubset#7.ENUMERABLE.[]"]
        }
        subgraph cluster8{
                label="Set 8 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.lang.Integer) product_id, JavaType(class 
java.lang.Integer) product_id0, JavaType(class java.math.BigDecimal) price)";
                rel968 
[label="rel#968:LogicalJoin\nleft=RelSubset#964,right=RelSubset#967,condition==($1,
 $2),joinType=inner\nrows=22500.0, cost={inf}",shape=box]
                rel994 
[label="rel#994:EnumerableHashJoin\nleft=RelSubset#989,right=RelSubset#993,condition==($1,
 $2),joinType=inner\nrows=22500.0, cost={37731.347599234265 rows, 10103.0 cpu, 
0.0 io}",color=blue,shape=box]
                subset969 [label="rel#969:RelSubset#8.NONE.[]"]
                subset995 [label="rel#995:RelSubset#8.ENUMERABLE.[]"]
        }
        subgraph cluster9{
                label="Set 9 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.math.BigDecimal) price)";
                rel970 
[label="rel#970:LogicalCalc\ninput=RelSubset#969,expr#0..3={inputs},0=$t0,1=$t3\nrows=22500.0,
 cost={inf}",shape=box]
                rel996 
[label="rel#996:EnumerableCalc\ninput=RelSubset#995,expr#0..3={inputs},0=$t0,1=$t3\nrows=22500.0,
 cost={60231.347599234265 rows, 145103.0 cpu, 0.0 io}",color=blue,shape=box]
                subset971 [label="rel#971:RelSubset#9.NONE.[]"]
                subset997 [label="rel#997:RelSubset#9.ENUMERABLE.[]"]
        }
        subgraph cluster10{
                label="Set 10 RecordType(JavaType(class java.lang.Integer) 
order_id, JavaType(class java.math.BigDecimal) sum_price, JavaType(class 
java.math.BigDecimal) avg_price, BIGINT count)";
                rel972 
[label="rel#972:LogicalAggregate\ninput=RelSubset#971,group={0},sum_price=SUM($1),avg_price=AVG($1),count=COUNT()\nrows=2250.0,
 cost={inf}",shape=box]
                subset973 [label="rel#973:RelSubset#10.NONE.[]"]
                subset999 [label="rel#999:RelSubset#10.ENUMERABLE.[]",color=red]
        }
        subgraph cluster11{
                label="Set 11 RecordType(JavaType(class java.math.BigDecimal) 
sum_price, JavaType(class java.math.BigDecimal) avg_price, BIGINT count)";
                rel974 
[label="rel#974:LogicalCalc\ninput=RelSubset#973,expr#0..3={inputs},0=$t1,1=$t2,2=$t3\nrows=2250.0,
 cost={inf}",shape=box]
                rel977 
[label="rel#977:AbstractConverter\ninput=RelSubset#975,convention=ENUMERABLE,sort=[]\nrows=2250.0,
 cost={inf}",shape=box]
                rel1000 
[label="rel#1000:EnumerableCalc\ninput=RelSubset#999,expr#0..3={inputs},0=$t1,1=$t2,2=$t3\nrows=2250.0,
 cost={inf}",shape=box]
                subset975 [label="rel#975:RelSubset#11.NONE.[]"]
                subset976 [label="rel#976:RelSubset#11.ENUMERABLE.[]"]
        }
        root -> subset976;
        subset955 -> rel892;
        subset979 -> rel978[color=blue];
        subset957 -> rel956; rel956 -> subset955;
        subset981 -> rel980[color=blue]; rel980 -> subset979[color=blue];
        subset958 -> rel894;
        subset983 -> rel982[color=blue];
        subset960 -> rel959; rel959 -> subset958;
        subset985 -> rel984[color=blue]; rel984 -> subset983[color=blue];
        subset962 -> rel961; rel961 -> subset957[label="0"]; rel961 -> 
subset960[label="1"];
        subset987 -> rel986[color=blue]; rel986 -> 
subset981[color=blue,label="0"]; rel986 -> subset985[color=blue,label="1"];
        subset964 -> rel963; rel963 -> subset962;
        subset989 -> rel988[color=blue]; rel988 -> subset987[color=blue];
        subset965 -> rel898;
        subset991 -> rel990[color=blue];
        subset967 -> rel966; rel966 -> subset965;
        subset993 -> rel992[color=blue]; rel992 -> subset991[color=blue];
        subset969 -> rel968; rel968 -> subset964[label="0"]; rel968 -> 
subset967[label="1"];
        subset995 -> rel994[color=blue]; rel994 -> 
subset989[color=blue,label="0"]; rel994 -> subset993[color=blue,label="1"];
        subset971 -> rel970; rel970 -> subset969;
        subset997 -> rel996[color=blue]; rel996 -> subset995[color=blue];
        subset973 -> rel972; rel972 -> subset971;
        subset975 -> rel974; rel974 -> subset973;
        subset976 -> rel977; rel977 -> subset975;
        subset976 -> rel1000; rel1000 -> subset999;
   }
        at 
org.apache.calcite.plan.volcano.RelSubset$CheapestPlanReplacer.visit(RelSubset.java:709)
        at 
org.apache.calcite.plan.volcano.RelSubset.buildCheapestPlan(RelSubset.java:390)
        at 
org.apache.calcite.plan.volcano.VolcanoPlanner.findBestExp(VolcanoPlanner.java:533)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimizeWithCBO(SQLOptimizeEngine.java:69)
        at 
org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeEngine.optimize(SQLOptimizeEngine.java:53)
        at 
org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.execute(AdvancedSQLFederationExecutor.java:141)
        at 
org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor.executeQuery(AdvancedSQLFederationExecutor.java:110)
        at 
org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.doExecuteFederation(JDBCDatabaseCommunicationEngine.java:163)
        at 
org.apache.shardingsphere.proxy.backend.communication.jdbc.JDBCDatabaseCommunicationEngine.execute(JDBCDatabaseCommunicationEngine.java:121)
        at 
org.apache.shardingsphere.proxy.frontend.opengauss.command.query.simple.OpenGaussComQueryExecutor.execute(OpenGaussComQueryExecutor.java:76)
        at 
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.executeCommand(CommandExecutorTask.java:111)
        at 
org.apache.shardingsphere.proxy.frontend.command.CommandExecutorTask.run(CommandExecutorTask.java:78)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
   ```
   
   ### Reason analyze (If you can)
   
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule 
configuration, when exception occur etc.
   
   ### Example codes for reproduce this issue (such as a github link).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: 
[email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to