DRILL-1212: Propagate trait in 2 phase aggregation rule, to avoid adding unnecessary exchange operator.
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/686a282c Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/686a282c Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/686a282c Branch: refs/heads/master Commit: 686a282c93f3412ca4f977a4c32c44264f8b9a23 Parents: 91b33f9 Author: Jinfeng Ni <[email protected]> Authored: Mon Jul 28 14:11:17 2014 -0700 Committer: Jacques Nadeau <[email protected]> Committed: Tue Jul 29 08:36:27 2014 -0700 ---------------------------------------------------------------------- .../java/org/apache/drill/exec/planner/physical/HashAggPrule.java | 2 +- .../org/apache/drill/exec/planner/physical/StreamAggPrule.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/686a282c/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java index 4d42f66..471e165 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/HashAggPrule.java @@ -117,7 +117,7 @@ public class HashAggPrule extends AggPruleBase { new HashToRandomExchangePrel(phase1Agg.getCluster(), phase1Agg.getTraitSet().plus(Prel.DRILL_PHYSICAL).plus(distOnAllKeys), phase1Agg, ImmutableList.copyOf(getDistributionField(aggregate, true))); - HashAggPrel phase2Agg = new HashAggPrel(aggregate.getCluster(), traits, exch, + HashAggPrel phase2Agg = new HashAggPrel(aggregate.getCluster(), exch.getTraitSet(), exch, aggregate.getGroupSet(), phase1Agg.getPhase2AggCalls(), OperatorPhase.PHASE_2of2); http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/686a282c/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java index 4191184..b5b0364 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/StreamAggPrule.java @@ -145,7 +145,7 @@ public class StreamAggPrule extends AggPruleBase { collation, numEndPoints); - return new StreamAggPrel(aggregate.getCluster(), traits, exch, + return new StreamAggPrel(aggregate.getCluster(), exch.getTraitSet(), exch, aggregate.getGroupSet(), phase1Agg.getPhase2AggCalls(), OperatorPhase.PHASE_2of2);
