You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by li...@apache.org on 2017/12/31 13:19:53 UTC
[36/50] [abbrv] kylin git commit: KYLIN-2982 minor refine
KYLIN-2982 minor refine
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/3b200a78
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/3b200a78
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/3b200a78
Branch: refs/heads/master
Commit: 3b200a78fc8149376ae1e70404b8afc8bb67ce91
Parents: d86c2a0
Author: Hongbin Ma <ma...@apache.org>
Authored: Thu Dec 14 14:52:37 2017 +0800
Committer: Hongbin Ma <ma...@kyligence.io>
Committed: Wed Dec 27 20:05:54 2017 +0800
----------------------------------------------------------------------
.../apache/kylin/metadata/model/ColumnDesc.java | 11 +--------
.../kylin/metadata/model/FunctionDesc.java | 7 ++----
.../org/apache/kylin/metadata/tuple/Tuple.java | 25 +++++++++++---------
3 files changed, 17 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/3b200a78/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
index b4381ea..03c89c3 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/ColumnDesc.java
@@ -59,7 +59,6 @@ public class ColumnDesc implements Serializable {
// parsed from data type
private DataType type;
- private DataType upgradedType;
private TableDesc table;
private int zeroBasedIndex = -1;
@@ -116,16 +115,8 @@ public class ColumnDesc implements Serializable {
type = DataType.getType(datatype);
}
- public void setUpgradedType(DataType upgradedType) {
- this.upgradedType = upgradedType;
- }
-
public DataType getUpgradedType() {
- if (this.upgradedType == null) {
- return this.type;
- } else {
- return this.upgradedType;
- }
+ return this.type;
}
public String getId() {
http://git-wip-us.apache.org/repos/asf/kylin/blob/3b200a78/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
index c96713d..fa97596 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/model/FunctionDesc.java
@@ -154,15 +154,12 @@ public class FunctionDesc implements Serializable {
}
public DataType getRewriteFieldType() {
+
if (getMeasureType() instanceof BasicMeasureType) {
if (isMax() || isMin()) {
return parameter.getColRefs().get(0).getType();
} else if (isSum()) {
- if (parameter.getColRefs().get(0).getType().getName().equals(returnDataType.getName())) {
- return returnDataType;
- } else {
- return parameter.getColRefs().get(0).getType();
- }
+ return parameter.getColRefs().get(0).getType();
} else if (isCount()) {
return DataType.getType("bigint");
} else {
http://git-wip-us.apache.org/repos/asf/kylin/blob/3b200a78/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
index b50a7e4..a299216 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/tuple/Tuple.java
@@ -115,25 +115,27 @@ public class Tuple implements ITuple {
// BigDecimal during cube build for best precision
if ("double".equals(dataType) && fieldValue instanceof BigDecimal) {
fieldValue = ((BigDecimal) fieldValue).doubleValue();
- } else if ("decimal".equals(dataType) && fieldValue instanceof BigDecimal) {
- fieldValue = normalizeDecimal((BigDecimal) fieldValue);
+ } else if ("decimal".equals(dataType)) {
+ if (fieldValue instanceof BigDecimal) {
+ fieldValue = normalizeDecimal((BigDecimal) fieldValue);
+ } else if (fieldValue instanceof Number) {
+ fieldValue = new BigDecimal(((Number) fieldValue).doubleValue());
+ }
+ } else if ("float".equals(dataType) && fieldValue instanceof BigDecimal) {
+ fieldValue = ((BigDecimal) fieldValue).floatValue();
} else if ("integer".equals(dataType) && fieldValue instanceof Number) {
fieldValue = ((Number) fieldValue).intValue();
+ } else if ("bigint".equals(dataType) && fieldValue instanceof Number) {
+ fieldValue = ((Number) fieldValue).longValue();
} else if ("smallint".equals(dataType) && fieldValue instanceof Number) {
fieldValue = ((Number) fieldValue).shortValue();
- } else if ("tinyint".equals(dataType)) {
+ } else if ("tinyint".equals(dataType) && fieldValue instanceof Number) {
fieldValue = ((Number) fieldValue).byteValue();
- } else if ("float".equals(dataType) && fieldValue instanceof BigDecimal) {
- fieldValue = ((BigDecimal) fieldValue).floatValue();
} else if ("date".equals(dataType) && fieldValue instanceof Long) {
- long millis = ((Long) fieldValue).longValue();
+ long millis = (Long) fieldValue;
fieldValue = (int) (millis / (1000 * 3600 * 24));
- } else if ("smallint".equals(dataType) && fieldValue instanceof Long) {
- fieldValue = ((Long) fieldValue).shortValue();
} else if ((!"varchar".equals(dataType) || !"char".equals(dataType)) && fieldValue instanceof String) {
fieldValue = convertOptiqCellValue((String) fieldValue, dataType);
- } else if ("bigint".equals(dataType) && fieldValue instanceof Double) {
- fieldValue = ((Double) fieldValue).longValue();
}
values[idx] = fieldValue;
@@ -188,7 +190,8 @@ public class Tuple implements ITuple {
if (strValue == null)
return null;
- if ((strValue.equals("") || strValue.equals("\\N")) && !dataTypeName.equals("string") && !dataTypeName.startsWith("varchar"))
+ if ((strValue.equals("") || strValue.equals("\\N")) && !dataTypeName.equals("string")
+ && !dataTypeName.startsWith("varchar"))
return null;
switch (dataTypeName) {