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