Repository: kylin
Updated Branches:
  refs/heads/KYLIN-1971 9b4209bed -> ea01024d9


tmp


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

Branch: refs/heads/KYLIN-1971
Commit: ea01024d911be40d17c2b22580cf5874e8e90a85
Parents: 9b4209b
Author: Yang Li <liy...@apache.org>
Authored: Tue Oct 25 06:21:56 2016 +0800
Committer: Yang Li <liy...@apache.org>
Committed: Tue Oct 25 06:21:56 2016 +0800

----------------------------------------------------------------------
 .../kylin/query/relnode/OLAPToEnumerableConverter.java    | 10 ++--------
 .../java/org/apache/kylin/query/routing/ModelChooser.java | 10 ++++++++++
 2 files changed, 12 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/ea01024d/query/src/main/java/org/apache/kylin/query/relnode/OLAPToEnumerableConverter.java
----------------------------------------------------------------------
diff --git 
a/query/src/main/java/org/apache/kylin/query/relnode/OLAPToEnumerableConverter.java
 
b/query/src/main/java/org/apache/kylin/query/relnode/OLAPToEnumerableConverter.java
index aa01086..f34893a 100644
--- 
a/query/src/main/java/org/apache/kylin/query/relnode/OLAPToEnumerableConverter.java
+++ 
b/query/src/main/java/org/apache/kylin/query/relnode/OLAPToEnumerableConverter.java
@@ -48,6 +48,7 @@ import 
org.apache.kylin.metadata.filter.TupleFilter.FilterOperatorEnum;
 import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.metadata.model.TblColRef;
 import org.apache.kylin.metadata.realization.IRealization;
+import org.apache.kylin.query.routing.ModelChooser;
 import org.apache.kylin.query.routing.NoRealizationFoundException;
 import org.apache.kylin.query.routing.QueryRouter;
 import org.apache.kylin.query.schema.OLAPTable;
@@ -89,10 +90,10 @@ public class OLAPToEnumerableConverter extends 
ConverterImpl implements Enumerab
                     continue;
                 }
 
+                ModelChooser.chooseModel(context);
                 IRealization realization = 
QueryRouter.selectRealization(context);
                 context.realization = realization;
 
-                fixModel(context);
                 doAccessControl(context);
             }
         } catch (NoRealizationFoundException e) {
@@ -123,13 +124,6 @@ public class OLAPToEnumerableConverter extends 
ConverterImpl implements Enumerab
         return impl.visitChild(this, 0, inputAsEnum, pref);
     }
 
-    private void fixModel(OLAPContext context) {
-        DataModelDesc model = context.realization.getDataModelDesc();
-        for (OLAPTableScan tableScan : context.allTableScans) {
-            tableScan.fixColumnRowTypeWithModel(model);
-        }
-    }
-
     private void doAccessControl(OLAPContext context) {
         String controllerCls = 
KylinConfig.getInstanceFromEnv().getQueryAccessController();
         if (null != controllerCls && !controllerCls.isEmpty()) {

http://git-wip-us.apache.org/repos/asf/kylin/blob/ea01024d/query/src/main/java/org/apache/kylin/query/routing/ModelChooser.java
----------------------------------------------------------------------
diff --git 
a/query/src/main/java/org/apache/kylin/query/routing/ModelChooser.java 
b/query/src/main/java/org/apache/kylin/query/routing/ModelChooser.java
index 623866b..972efd0 100644
--- a/query/src/main/java/org/apache/kylin/query/routing/ModelChooser.java
+++ b/query/src/main/java/org/apache/kylin/query/routing/ModelChooser.java
@@ -18,11 +18,21 @@
 
 package org.apache.kylin.query.routing;
 
+import org.apache.kylin.metadata.model.DataModelDesc;
 import org.apache.kylin.query.relnode.OLAPContext;
+import org.apache.kylin.query.relnode.OLAPTableScan;
 
 public class ModelChooser {
 
     public static void chooseModel(OLAPContext context) {
+        DataModelDesc model = null;
         
+        fixModel(context, model);
+    }
+    
+    private static void fixModel(OLAPContext context, DataModelDesc model) {
+        for (OLAPTableScan tableScan : context.allTableScans) {
+            tableScan.fixColumnRowTypeWithModel(model);
+        }
     }
 }

Reply via email to