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 <[email protected]> Authored: Wed Jun 29 18:37:42 2016 +0800 Committer: Hongbin Ma <[email protected]> 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 { } }; - }
