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) {