Specify target traits based on converted RelNode's trait, in stead of empty trait sets, when call planner to get the logical plan.
Add back RemoveSortRule to Logical rulesets. Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/56411a57 Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/56411a57 Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/56411a57 Branch: refs/heads/master Commit: 56411a570a3516e4e10942c63f6cf00866e0ab05 Parents: 6328765 Author: Jinfeng Ni <[email protected]> Authored: Fri Apr 4 11:56:44 2014 -0700 Committer: Jacques Nadeau <[email protected]> Committed: Sat Apr 19 18:07:12 2014 -0700 ---------------------------------------------------------------------- .../org/apache/drill/exec/planner/logical/DrillRuleSets.java | 2 +- .../java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/56411a57/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java index e249af3..5bd8581 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/logical/DrillRuleSets.java @@ -69,7 +69,7 @@ public class DrillRuleSets { // UnionToDistinctRule.INSTANCE, // RemoveTrivialProjectRule.INSTANCE, // RemoveTrivialCalcRule.INSTANCE, -// RemoveSortRule.INSTANCE, + RemoveSortRule.INSTANCE, // TableAccessRule.INSTANCE, // //MergeProjectRule.INSTANCE, // http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/56411a57/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java index c540066..e796f12 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/DrillSqlWorker.java @@ -118,7 +118,7 @@ public class DrillSqlWorker { System.out.println(RelOptUtil.toString(relNode, SqlExplainLevel.ALL_ATTRIBUTES)); - RelNode convertedRelNode = planner.transform(LOGICAL_RULES, planner.getEmptyTraitSet().plus(DrillRel.DRILL_LOGICAL), relNode); + RelNode convertedRelNode = planner.transform(LOGICAL_RULES, relNode.getTraitSet().plus(DrillRel.DRILL_LOGICAL), relNode); if(convertedRelNode instanceof DrillStoreRel){ throw new UnsupportedOperationException(); }else{ @@ -135,7 +135,7 @@ public class DrillSqlWorker { public LogicalPlan getLogicalPlan(String sql) throws SqlParseException, ValidationException, RelConversionException{ RelResult result = getRel(sql); - RelNode convertedRelNode = planner.transform(LOGICAL_RULES, planner.getEmptyTraitSet().plus(DrillRel.DRILL_LOGICAL), result.node); + RelNode convertedRelNode = planner.transform(LOGICAL_RULES, result.node.getTraitSet().plus(DrillRel.DRILL_LOGICAL), result.node); if(convertedRelNode instanceof DrillStoreRel){ throw new UnsupportedOperationException(); }else{
