You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2016/06/30 07:11:26 UTC

kylin git commit: add helper methods to gt scan request

Repository: kylin
Updated Branches:
  refs/heads/master 832112215 -> 07511d7bc


add helper methods to gt scan request


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

Branch: refs/heads/master
Commit: 07511d7bc665008db85c45a003486c01f3d9c8da
Parents: 8321122
Author: Hongbin Ma <ma...@apache.org>
Authored: Wed Jun 29 18:37:42 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Thu Jun 30 15:11:09 2016 +0800

----------------------------------------------------------------------
 .../src/main/java/org/apache/kylin/gridtable/GTInfo.java | 10 ++++++++++
 .../java/org/apache/kylin/gridtable/GTScanRequest.java   | 11 ++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/07511d7b/core-cube/src/main/java/org/apache/kylin/gridtable/GTInfo.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTInfo.java b/core-cube/src/main/java/org/apache/kylin/gridtable/GTInfo.java
index 0571c6f..673d22e 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTInfo.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTInfo.java
@@ -271,6 +271,14 @@ public class GTInfo {
     public IGTCodeSystem getCodeSystem() {
         return codeSystem;
     }
+    
+    public int getMaxLength() {
+        int ret = 0;
+        for (int i = 0; i < colAll.trueBitCount(); i++) {
+            ret += codeSystem.maxCodeLength(colAll.trueBitAt(i));
+        }
+        return ret;
+    }
 
     public static final BytesSerializer<GTInfo> serializer = new BytesSerializer<GTInfo>() {
         @Override
@@ -340,4 +348,6 @@ public class GTInfo {
             enableRowBlock(newRowBlockSize).build();
         }
     };
+
+  
 }

http://git-wip-us.apache.org/repos/asf/kylin/blob/07511d7b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRequest.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRequest.java b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRequest.java
index 5e1e131..d4e6298 100644
--- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRequest.java
+++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRequest.java
@@ -267,6 +267,16 @@ public class GTScanRequest {
         aggrCacheGB = -limit;
     }
 
+    public List<Integer> getRequiredMeasures() {
+        List<Integer> measures = Lists.newArrayList();
+        int numDim = info.getPrimaryKey().trueBitCount();
+        for (int i = 0; i < aggrMetrics.trueBitCount(); i++) {
+            int index = aggrMetrics.trueBitAt(i);
+            measures.add(index - numDim);
+        }
+        return measures;
+    }
+
     @Override
     public String toString() {
         return "GTScanRequest [range=" + ranges + ", columns=" + columns + ", filterPushDown=" + filterPushDown + ", aggrGroupBy=" + aggrGroupBy + ", aggrMetrics=" + aggrMetrics + ", aggrMetricsFuncs=" + Arrays.toString(aggrMetricsFuncs) + "]";
@@ -354,5 +364,4 @@ public class GTScanRequest {
         }
 
     };
-
 }