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

morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new efb2596c7a [enhancment](Nereids) enable push down filter through 
aggregation (#13938)
efb2596c7a is described below

commit efb2596c7afd023275e4fe1f3d2949c8a7e0b172
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Fri Nov 4 11:04:00 2022 +0800

    [enhancment](Nereids) enable push down filter through aggregation (#13938)
---
 .../apache/doris/nereids/jobs/batch/NereidsRewriteJobExecutor.java  | 4 ++--
 .../src/main/java/org/apache/doris/nereids/rules/RuleSet.java       | 6 ++++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriteJobExecutor.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriteJobExecutor.java
index 641f4f1742..52311db55a 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriteJobExecutor.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/NereidsRewriteJobExecutor.java
@@ -64,10 +64,10 @@ public class NereidsRewriteJobExecutor extends 
BatchRulesJob {
                 .add(topDownBatch(ImmutableList.of(new 
ExpressionOptimization())))
                 .add(topDownBatch(ImmutableList.of(new 
ExtractSingleTableExpressionFromDisjunction())))
                 .add(topDownBatch(ImmutableList.of(new NormalizeAggregate())))
-                .add(topDownBatch(RuleSet.PUSH_DOWN_JOIN_CONDITION_RULES, 
false))
+                .add(topDownBatch(RuleSet.PUSH_DOWN_FILTERS, false))
                 .add(topDownBatch(ImmutableList.of(new ReorderJoin())))
                 .add(topDownBatch(ImmutableList.of(new ColumnPruning())))
-                .add(topDownBatch(RuleSet.PUSH_DOWN_JOIN_CONDITION_RULES, 
false))
+                .add(topDownBatch(RuleSet.PUSH_DOWN_FILTERS, false))
                 
.add(topDownBatch(ImmutableList.of(PushFilterInsideJoin.INSTANCE)))
                 .add(topDownBatch(ImmutableList.of(new 
FindHashConditionForJoin())))
                 .add(topDownBatch(ImmutableList.of(new LimitPushDown())))
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java
index 96b3dd3e0a..461f3ecd71 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/RuleSet.java
@@ -44,6 +44,7 @@ import 
org.apache.doris.nereids.rules.rewrite.logical.MergeFilters;
 import org.apache.doris.nereids.rules.rewrite.logical.MergeLimits;
 import org.apache.doris.nereids.rules.rewrite.logical.MergeProjects;
 import 
org.apache.doris.nereids.rules.rewrite.logical.PushdownExpressionsInHashCondition;
+import 
org.apache.doris.nereids.rules.rewrite.logical.PushdownFilterThroughAggregation;
 import 
org.apache.doris.nereids.rules.rewrite.logical.PushdownFilterThroughJoin;
 import 
org.apache.doris.nereids.rules.rewrite.logical.PushdownFilterThroughProject;
 import 
org.apache.doris.nereids.rules.rewrite.logical.PushdownJoinOtherCondition;
@@ -73,12 +74,13 @@ public class RuleSet {
             .add(new MergeProjects())
             .build();
 
-    public static final List<RuleFactory> PUSH_DOWN_JOIN_CONDITION_RULES = 
ImmutableList.of(
+    public static final List<RuleFactory> PUSH_DOWN_FILTERS = ImmutableList.of(
+            new PushdownFilterThroughProject(),
             new PushdownJoinOtherCondition(),
             new PushdownFilterThroughJoin(),
             new PushdownExpressionsInHashCondition(),
+            new PushdownFilterThroughAggregation(),
             new PushdownProjectThroughLimit(),
-            new PushdownFilterThroughProject(),
             new EliminateOuterJoin(),
             new MergeProjects(),
             new MergeFilters(),


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to