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);

Reply via email to