Repository: incubator-drill
Updated Branches:
  refs/heads/master 2fdb1a139 -> e790e7962


Exchange optiq rules: no need to specify child operand in Drill 
logical/physical rules.

Add child specification to Project and Filter physical rules.


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/0b9893c8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/0b9893c8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/0b9893c8

Branch: refs/heads/master
Commit: 0b9893c88d5274b6576a22e4e88509cc0e4b2d8d
Parents: 2fdb1a1
Author: Jinfeng Ni <[email protected]>
Authored: Thu Apr 24 19:33:09 2014 -0700
Committer: Jacques Nadeau <[email protected]>
Committed: Tue May 6 14:49:22 2014 -0700

----------------------------------------------------------------------
 .../org/apache/drill/exec/planner/logical/DrillFilterRule.java | 4 ++--
 .../org/apache/drill/exec/planner/logical/DrillJoinRule.java   | 6 +++---
 .../org/apache/drill/exec/planner/logical/DrillLimitRule.java  | 2 +-
 .../apache/drill/exec/planner/logical/DrillProjectRule.java    | 4 ++--
 .../org/apache/drill/exec/planner/logical/DrillSortRule.java   | 4 ++--
 .../org/apache/drill/exec/planner/physical/FilterPrule.java    | 2 +-
 .../org/apache/drill/exec/planner/physical/LimitPrule.java     | 4 ++--
 .../org/apache/drill/exec/planner/physical/MergeJoinPrule.java | 6 +++---
 .../org/apache/drill/exec/planner/physical/ProjectPrule.java   | 4 ++--
 .../java/org/apache/drill/exec/planner/physical/SortPrule.java | 4 ++--
 .../org/apache/drill/exec/planner/physical/StreamAggPrule.java | 4 ++--
 11 files changed, 22 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillFilterRule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillFilterRule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillFilterRule.java
index 7cdc6ec..64559a2 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillFilterRule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillFilterRule.java
@@ -31,13 +31,13 @@ public class DrillFilterRule extends RelOptRule {
   public static final RelOptRule INSTANCE = new DrillFilterRule();
 
   private DrillFilterRule() {
-    super(RelOptHelper.some(FilterRel.class, Convention.NONE, 
RelOptHelper.any(RelNode.class)), "DrillFilterRule");
+    super(RelOptHelper.any(FilterRel.class, Convention.NONE), 
"DrillFilterRule");
   }
 
   @Override
   public void onMatch(RelOptRuleCall call) {
     final FilterRel filter = (FilterRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = filter.getChild();
     final RelTraitSet traits = 
filter.getTraitSet().plus(DrillRel.DRILL_LOGICAL);
     final RelNode convertedInput = convert(input, traits);
     call.transformTo(new DrillFilterRel(filter.getCluster(), traits, 
convertedInput, filter.getCondition()));

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillJoinRule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillJoinRule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillJoinRule.java
index 60c4ae0..c23bb29 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillJoinRule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillJoinRule.java
@@ -43,15 +43,15 @@ public class DrillJoinRule extends RelOptRule {
 
   private DrillJoinRule() {
     super(
-        RelOptHelper.some(JoinRel.class, Convention.NONE, 
RelOptHelper.any(RelNode.class), RelOptHelper.any(RelNode.class)),
+        RelOptHelper.any(JoinRel.class, Convention.NONE),
         "DrillJoinRule");
   }
 
   @Override
   public void onMatch(RelOptRuleCall call) {
     final JoinRel join = (JoinRel) call.rel(0);
-    final RelNode left = call.rel(1);
-    final RelNode right = call.rel(2);
+    final RelNode left = join.getLeft();
+    final RelNode right = join.getRight();
     final RelTraitSet traits = join.getTraitSet().plus(DrillRel.DRILL_LOGICAL);
 
     final RelNode convertedLeft = convert(left, traits);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillLimitRule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillLimitRule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillLimitRule.java
index d8396b5..a11dc30 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillLimitRule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillLimitRule.java
@@ -31,7 +31,7 @@ public class DrillLimitRule extends RelOptRule {
   public static DrillLimitRule INSTANCE = new DrillLimitRule();
 
   private DrillLimitRule() {
-    super(RelOptHelper.some(SortRel.class, Convention.NONE, 
RelOptHelper.any(RelNode.class)), "DrillLimitRule");
+    super(RelOptHelper.any(SortRel.class, Convention.NONE), "DrillLimitRule");
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillProjectRule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillProjectRule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillProjectRule.java
index c9c8143..489f84f 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillProjectRule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillProjectRule.java
@@ -31,13 +31,13 @@ public class DrillProjectRule extends RelOptRule {
   public static final RelOptRule INSTANCE = new DrillProjectRule();
 
   private DrillProjectRule() {
-    super(RelOptHelper.some(ProjectRel.class, Convention.NONE, 
RelOptHelper.any(RelNode.class)), "DrillProjectRule");
+    super(RelOptHelper.any(ProjectRel.class, Convention.NONE), 
"DrillProjectRule");
   }
 
   @Override
   public void onMatch(RelOptRuleCall call) {
     final ProjectRel project = (ProjectRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = project.getChild();
     final RelTraitSet traits = 
project.getTraitSet().plus(DrillRel.DRILL_LOGICAL);
     final RelNode convertedInput = convert(input, traits);
     call.transformTo(new DrillProjectRel(project.getCluster(), traits, 
convertedInput, project.getProjects(), project

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillSortRule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillSortRule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillSortRule.java
index 9179668..5c982e4 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillSortRule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillSortRule.java
@@ -28,7 +28,7 @@ public class DrillSortRule extends RelOptRule {
   public static final RelOptRule INSTANCE = new DrillSortRule();
 
   private DrillSortRule() {
-    super(RelOptHelper.some(SortRel.class, Convention.NONE, 
RelOptHelper.any(RelNode.class)), "DrillSortRule");
+    super(RelOptHelper.any(SortRel.class, Convention.NONE), "DrillSortRule");
   }
 
   @Override
@@ -42,7 +42,7 @@ public class DrillSortRule extends RelOptRule {
 
     final SortRel sort = call.rel(0);
 
-    final RelNode input = call.rel(1);
+    final RelNode input = sort.getChild();
     final RelTraitSet traits = sort.getTraitSet().plus(DrillRel.DRILL_LOGICAL);
 
     final RelNode convertedInput = convert(input, 
input.getTraitSet().plus(DrillRel.DRILL_LOGICAL));

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrule.java
index 9496ba2..ee1a022 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/FilterPrule.java
@@ -39,7 +39,7 @@ public class FilterPrule extends RelOptRule {
   @Override
   public void onMatch(RelOptRuleCall call) {
     final DrillFilterRel  filter = (DrillFilterRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = filter.getChild();
 
     RelTraitSet traits = input.getTraitSet().plus(Prel.DRILL_PHYSICAL);
     RelNode convertedInput = convert(input, traits);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LimitPrule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LimitPrule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LimitPrule.java
index 8076db5..dbea251 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LimitPrule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/LimitPrule.java
@@ -32,13 +32,13 @@ public class LimitPrule extends RelOptRule{
 
   
   public LimitPrule() {
-    super(RelOptHelper.some(DrillLimitRel.class, DrillRel.DRILL_LOGICAL, 
RelOptHelper.any(RelNode.class)), "Prel.LimitPrule");    
+    super(RelOptHelper.any(DrillLimitRel.class, DrillRel.DRILL_LOGICAL), 
"Prel.LimitPrule");    
   }
   
   @Override
   public void onMatch(RelOptRuleCall call) {
     final DrillLimitRel limit = (DrillLimitRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = limit.getChild();
     
     final RelTraitSet traits = 
input.getTraitSet().plus(Prel.DRILL_PHYSICAL).plus(DrillDistributionTrait.SINGLETON);
     final RelNode convertedInput = convert(input, traits);

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/MergeJoinPrule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/MergeJoinPrule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/MergeJoinPrule.java
index 8298e50..1eeb021 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/MergeJoinPrule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/MergeJoinPrule.java
@@ -49,7 +49,7 @@ public class MergeJoinPrule extends RelOptRule {
 
   private MergeJoinPrule() {
     super(
-        RelOptHelper.some(DrillJoinRel.class, RelOptHelper.any(RelNode.class), 
RelOptHelper.any(RelNode.class)),
+        RelOptHelper.any(DrillJoinRel.class),
         "Prel.MergeJoinPrule");
   }
 
@@ -62,8 +62,8 @@ public class MergeJoinPrule extends RelOptRule {
         throw new InvalidRelException("MergeJoinPrel does not support 
cartesian product join");
       }
   
-      final RelNode left = call.rel(1);
-      final RelNode right = call.rel(2);
+      final RelNode left = join.getLeft();
+      final RelNode right = join.getRight();
   
       RelCollation collationLeft = getCollation(join.getLeftKeys());
       RelCollation collationRight = getCollation(join.getRightKeys());

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrule.java
index fd48058..5c45d60 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/ProjectPrule.java
@@ -58,11 +58,11 @@ public class ProjectPrule extends RelOptRule {
   @Override
   public void onMatch(RelOptRuleCall call) {
     final DrillProjectRel project = (DrillProjectRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = project.getChild();
 
     RelTraitSet traits = input.getTraitSet().plus(Prel.DRILL_PHYSICAL);
     RelNode convertedInput = convert(input, traits);
-    
+        
     Map<Integer, Integer> inToOut = getProjectMap(project);
     
     if (convertedInput instanceof RelSubset) {

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SortPrule.java
----------------------------------------------------------------------
diff --git 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SortPrule.java
 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SortPrule.java
index a36450d..0ead488 100644
--- 
a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SortPrule.java
+++ 
b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/physical/SortPrule.java
@@ -47,13 +47,13 @@ public class SortPrule extends RelOptRule{
   public static final RelOptRule INSTANCE = new SortPrule();
 
   private SortPrule() {
-    super(RelOptHelper.some(DrillSortRel.class, DrillRel.DRILL_LOGICAL, 
RelOptHelper.any(RelNode.class)), "Prel.SortPrule");
+    super(RelOptHelper.any(DrillSortRel.class, DrillRel.DRILL_LOGICAL), 
"Prel.SortPrule");
   }
 
   @Override
   public void onMatch(RelOptRuleCall call) {
     final DrillSortRel sort = (DrillSortRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = sort.getChild();
     
     // Keep the collation in logical sort. Convert input into a RelNode with 
1) this collation, 2) Physical, 3) hash distributed on 
 

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/0b9893c8/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 a561a61..2f5f693 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
@@ -45,13 +45,13 @@ public class StreamAggPrule extends RelOptRule {
   protected static final Logger tracer = EigenbaseTrace.getPlannerTracer();
 
   private StreamAggPrule() {
-    super(RelOptHelper.some(DrillAggregateRel.class, 
RelOptHelper.any(DrillRel.class)), "Prel.StreamAggPrule");
+    super(RelOptHelper.any(DrillAggregateRel.class), "Prel.StreamAggPrule");
   }
 
   @Override
   public void onMatch(RelOptRuleCall call) {
     final DrillAggregateRel aggregate = (DrillAggregateRel) call.rel(0);
-    final RelNode input = call.rel(1);
+    final RelNode input = aggregate.getChild();
     RelCollation collation = getCollation(aggregate);
 
     DrillDistributionTrait toDist = null;

Reply via email to