Fix order with limit

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

Branch: refs/heads/master
Commit: e11c2e5e9d6c6291b885513d380c4d1098e35d5a
Parents: ecb5e15
Author: Timothy Chen <[email protected]>
Authored: Sat Sep 28 11:04:17 2013 -0700
Committer: Timothy Chen <[email protected]>
Committed: Mon Oct 14 12:06:18 2013 -0700

----------------------------------------------------------------------
 .../java/org/apache/drill/optiq/DrillLimitRel.java  |  2 +-
 .../java/org/apache/drill/optiq/DrillLimitRule.java | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e11c2e5e/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRel.java
----------------------------------------------------------------------
diff --git a/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRel.java 
b/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRel.java
index e05a10a..c1bf3d2 100644
--- a/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRel.java
+++ b/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRel.java
@@ -46,7 +46,7 @@ public class DrillLimitRel extends SingleRel implements 
DrillRel {
   @Override
   public int implement(DrillImplementor implementor) {
     int inputId = implementor.visitChild(this, 0, getChild());
-    final ObjectNode limit = implementor.mapper.createObjectNode();
+
 
     // First offset to include into results (inclusive). Null implies it is 
starting from offset 0
     int first = offset != null ? Math.max(0, RexLiteral.intValue(offset)) : 0;

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e11c2e5e/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRule.java
----------------------------------------------------------------------
diff --git a/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRule.java 
b/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRule.java
index 6a7d3ba..2662156 100644
--- a/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRule.java
+++ b/sqlparser/src/main/java/org/apache/drill/optiq/DrillLimitRule.java
@@ -41,19 +41,19 @@ public class DrillLimitRule extends RelOptRule {
     if (sort.offset == null && sort.fetch == null) {
       return;
     }
-    final RelTraitSet traits = sort.getTraitSet().plus(DrillRel.CONVENTION);
+    final RelTraitSet traits = sort.getTraitSet();
     RelNode input = sort.getChild();
     if (!sort.getCollation().getFieldCollations().isEmpty()) {
       input = sort.copy(
-          sort.getTraitSet().replace(RelCollationImpl.EMPTY),
-          input,
-          RelCollationImpl.EMPTY,
+          sort.getTraitSet(),
+          sort,
+          sort.getCollation(),
           null,
           null);
     }
-    RelNode x = convert(
-        input,
-        input.getTraitSet().replace(DrillRel.CONVENTION));
-    call.transformTo(new DrillLimitRel(sort.getCluster(), traits, x, 
sort.offset, sort.fetch));
+    //RelNode x = convert(
+    //    input,
+    //    input.getTraitSet());
+    call.transformTo(new DrillLimitRel(sort.getCluster(), traits, input, 
sort.offset, sort.fetch));
   }
 }

Reply via email to