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;
