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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]