You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2016/03/23 12:54:02 UTC
kylin git commit: KYLIN-1524 Top-N metris data type is BigInt
Repository: kylin
Updated Branches:
refs/heads/master 9b9cfe8f7 -> 6d61055ff
KYLIN-1524 Top-N metris data type is BigInt
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/6d61055f
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/6d61055f
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/6d61055f
Branch: refs/heads/master
Commit: 6d61055ffeb38f77c58e203dceeec58560550742
Parents: 9b9cfe8
Author: shaofengshi <sh...@apache.org>
Authored: Wed Mar 23 19:53:13 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Wed Mar 23 19:53:13 2016 +0800
----------------------------------------------------------------------
.../java/org/apache/kylin/measure/topn/TopNMeasureType.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/6d61055f/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
index 2167cc1..cee8603 100644
--- a/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
+++ b/core-metadata/src/main/java/org/apache/kylin/measure/topn/TopNMeasureType.java
@@ -267,7 +267,8 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
final int literalTupleIdx = tupleInfo.hasColumn(literalCol) ? tupleInfo.getColumnIndex(literalCol) : -1;
// for TopN, the aggr must be SUM, so the number fill into the column position (without rewrite)
final int numericTupleIdx = tupleInfo.hasColumn(numericCol) ? tupleInfo.getColumnIndex(numericCol) : -1;
-
+ final DataType numericField = DataType.getType(tupleInfo.getDataTypeName(numericTupleIdx));
+ final boolean isIntFamily = numericField.isIntegerFamily();
return new IAdvMeasureFiller() {
private TopNCounter<ByteArray> topNCounter;
private Iterator<Counter<ByteArray>> topNCounterIterator;
@@ -295,7 +296,7 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> {
int key = BytesUtil.readUnsigned(counter.getItem().array(), counter.getItem().offset(), counter.getItem().length());
String colValue = topNColDict.getValueFromId(key);
tuple.setDimensionValue(literalTupleIdx, colValue);
- tuple.setMeasureValue(numericTupleIdx, counter.getCount());
+ tuple.setMeasureValue(numericTupleIdx, isIntFamily ? (long) counter.getCount() : counter.getCount());
}
};
}