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 75bcf03f01c feat: modify filter optimization rules. (#20599)
75bcf03f01c is described below

commit 75bcf03f01cc1dd61ad1468e90e8c3e1b38afbc1
Author: boyjoy1127 <[email protected]>
AuthorDate: Sun Aug 28 08:14:44 2022 +0800

    feat: modify filter optimization rules. (#20599)
---
 .../federation/optimizer/planner/QueryOptimizePlannerFactory.java     | 3 ++-
 .../infra/federation/optimizer/ShardingSphereOptimizerTest.java       | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
index 767abdbf7ed..2d45847133a 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/planner/QueryOptimizePlannerFactory.java
@@ -31,6 +31,7 @@ import org.apache.calcite.rel.RelCollationTraitDef;
 import org.apache.calcite.rel.rules.AggregateExpandDistinctAggregatesRule;
 import org.apache.calcite.rel.rules.CoreRules;
 import org.apache.calcite.rel.rules.ProjectRemoveRule;
+import 
org.apache.shardingsphere.infra.federation.optimizer.metadata.translatable.TranslatableFilterRule;
 import 
org.apache.shardingsphere.infra.federation.optimizer.metadata.translatable.TranslatableProjectFilterRule;
 import 
org.apache.shardingsphere.infra.federation.optimizer.metadata.translatable.TranslatableProjectRule;
 
@@ -159,7 +160,7 @@ public final class QueryOptimizePlannerFactory {
         result.add(CoreRules.FILTER_REDUCE_EXPRESSIONS);
         result.add(CoreRules.JOIN_PUSH_EXPRESSIONS);
         result.add(CoreRules.JOIN_PUSH_TRANSITIVE_PREDICATES);
-        result.add(TranslatableProjectRule.INSTANCE);
+        result.add(TranslatableFilterRule.INSTANCE);
         result.add(TranslatableProjectFilterRule.INSTANCE);
         return result;
     }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
index 7cbec426626..9c05f3ed44b 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/ShardingSphereOptimizerTest.java
@@ -217,8 +217,8 @@ public final class ShardingSphereOptimizerTest {
                 + "  EnumerableCorrelate(correlation=[$cor1], joinType=[left], 
requiredColumns=[{1}])" + LINE_SEPARATOR
                 + "    TranslatableTableScan(table=[[federate_jdbc, 
t_order_federate]], fields=[[0, 1]])" + LINE_SEPARATOR
                 + "    EnumerableAggregate(group=[{}], agg#0=[MIN($0)])" + 
LINE_SEPARATOR
-                + "      EnumerableCalc(expr#0=[{inputs}], expr#1=[true], 
$f0=[$t1])" + LINE_SEPARATOR
-                + "        TranslatableTableScan(table=[[federate_jdbc, 
t_user_info]], fields=[[0]], filters=[[null]])" + LINE_SEPARATOR;
+                + "      EnumerableCalc(expr#0..1=[{inputs}], expr#2=[true], 
$f0=[$t2])" + LINE_SEPARATOR
+                + "        TranslatableTableScan(table=[[federate_jdbc, 
t_user_info]], fields=[[0, 1]], filters=[[null, null]])" + LINE_SEPARATOR;
         assertThat(actual, is(expected));
     }
     

Reply via email to