Repository: kylin
Updated Branches:
  refs/heads/master 68ff75de2 -> 6f8cdeb55


KYLIN-2367 fix select * where ...


Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/6f8cdeb5
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/6f8cdeb5
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/6f8cdeb5

Branch: refs/heads/master
Commit: 6f8cdeb55cb4b41a63871aed2b3f61c7eddd107d
Parents: 68ff75d
Author: Li Yang <liy...@apache.org>
Authored: Mon Jan 9 14:41:05 2017 +0800
Committer: Li Yang <liy...@apache.org>
Committed: Mon Jan 9 14:41:05 2017 +0800

----------------------------------------------------------------------
 .../org/apache/calcite/sql2rel/SqlToRelConverter.java | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/6f8cdeb5/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
----------------------------------------------------------------------
diff --git 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
index 7da3040..e0782ce 100644
--- 
a/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
+++ 
b/atopcalcite/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java
@@ -677,7 +677,8 @@ public class SqlToRelConverter {
          * 
          *   LogicalSort (optional)
          *    |- LogicalProject
-         *        |- OLAPTableScan
+         *        |- LogicalFilter (optional)
+         *            |- OLAPTableScan
          */
         LogicalProject rootPrj = null;
         LogicalSort rootSort = null;
@@ -690,11 +691,14 @@ public class SqlToRelConverter {
             return root;
         }
         
-        if 
(!rootPrj.getInput().getClass().getSimpleName().equals("OLAPTableScan"))
+        RelNode input = rootPrj.getInput();
+        if (!(//
+                input.getClass().getSimpleName().equals("OLAPTableScan")//
+                || (input.getClass().getSimpleName().equals("LogicalFilter") 
&& input.getInput(0).getClass().getSimpleName().equals("OLAPTableScan"))//
+             ))
             return root;
 
-        RelNode scan = rootPrj.getInput();
-        if (rootPrj.getRowType().getFieldCount() < 
scan.getRowType().getFieldCount())
+        if (rootPrj.getRowType().getFieldCount() < 
input.getRowType().getFieldCount())
             return root;
         
         RelDataType inType = rootPrj.getRowType();
@@ -713,7 +717,7 @@ public class SqlToRelConverter {
         }
 
         RelDataType projRowType = 
getCluster().getTypeFactory().createStructType(projTypeBuilder);
-        rootPrj = LogicalProject.create(scan, projExp, projRowType);
+        rootPrj = LogicalProject.create(input, projExp, projRowType);
         if (rootSort != null) {
             rootSort = (LogicalSort) rootSort.copy(rootSort.getTraitSet(), 
rootPrj, rootSort.collation, rootSort.offset, rootSort.fetch);
         }

Reply via email to