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/12/04 13:44:11 UTC

[1/3] kylin git commit: minor: normalize scientific decimal values

Repository: kylin
Updated Branches:
  refs/heads/master eb686a942 -> 00a4c5064


minor: normalize scientific decimal values


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

Branch: refs/heads/master
Commit: fe9efa86cd34da31ec41dc176140ee4ee2f49fed
Parents: eb686a9
Author: Hongbin Ma <ma...@apache.org>
Authored: Sun Dec 4 21:26:18 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Sun Dec 4 21:26:18 2016 +0800

----------------------------------------------------------------------
 .../java/org/apache/kylin/metadata/tuple/Tuple.java     | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/fe9efa86/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 721a719..d51ae9e 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,6 +115,8 @@ 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 ("integer".equals(dataType) && fieldValue instanceof Number) {
             fieldValue = ((Number) fieldValue).intValue();
         } else if ("smallint".equals(dataType) && fieldValue instanceof Number) {
@@ -145,6 +147,14 @@ public class Tuple implements ITuple {
         return o;
     }
 
+    private static BigDecimal normalizeDecimal(BigDecimal input) {
+        if (input.scale() < 0) {
+            return input.setScale(0);
+        } else {
+            return input;
+        }
+    }
+
     public boolean hasColumn(TblColRef column) {
         return info.hasColumn(column);
     }
@@ -199,7 +209,7 @@ public class Tuple implements ITuple {
         case "double":
             return Double.valueOf(strValue);
         case "decimal":
-            return new BigDecimal(strValue);
+            return normalizeDecimal(new BigDecimal(strValue));
         case "float":
             return Float.valueOf(strValue);
         case "boolean":


[2/3] kylin git commit: minor, refine MassInTupleFilter

Posted by ma...@apache.org.
minor, refine MassInTupleFilter

Signed-off-by: Hongbin Ma <ma...@apache.org>


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

Branch: refs/heads/master
Commit: a03eec88f3b4e60d1f1d6bd2fd5922a97aec23f5
Parents: fe9efa8
Author: Roger Shi <ro...@hotmail.com>
Authored: Sun Dec 4 16:28:47 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Sun Dec 4 21:28:17 2016 +0800

----------------------------------------------------------------------
 .../metadata/filter/UDF/MassInTupleFilter.java  | 34 +++++++++++++++++---
 1 file changed, 30 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/a03eec88/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java
index 29c5550..e4e311e 100644
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/UDF/MassInTupleFilter.java
@@ -19,6 +19,7 @@
 package org.apache.kylin.metadata.filter.UDF;
 
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
 import java.util.Collection;
 
 import org.apache.kylin.common.KylinConfig;
@@ -40,7 +41,6 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 
 public class MassInTupleFilter extends FunctionTupleFilter {
-
     public static final Logger logger = LoggerFactory.getLogger(MassInTupleFilter.class);
     public static MassInValueProviderFactory VALUE_PROVIDER_FACTORY = null;
 
@@ -56,6 +56,16 @@ public class MassInTupleFilter extends FunctionTupleFilter {
         super(Lists.<TupleFilter> newArrayList(), TupleFilter.FilterOperatorEnum.MASSIN);
     }
 
+    public MassInTupleFilter(MassInTupleFilter filter) {
+        super(new ArrayList<TupleFilter>(filter.children), filter.operator);
+        this.valueProvider = filter.getValueProvider();
+        this.column = filter.getColumn();
+        this.filterTableName = filter.getFilterTableName();
+        this.filterTableResourceIdentifier = filter.getFilterTableResourceIdentifier();
+        this.filterTableType = filter.getFilterTableType();
+        this.reverse = filter.isReverse();
+    }
+
     @Override
     public boolean evaluate(IEvaluatableTuple tuple, IFilterCodeSystem<?> cs) {
         Preconditions.checkNotNull(tuple);
@@ -132,6 +142,7 @@ public class MassInTupleFilter extends FunctionTupleFilter {
         BytesUtil.writeUTFString(filterTableName, buffer);
         BytesUtil.writeUTFString(filterTableResourceIdentifier, buffer);
         BytesUtil.writeUTFString(filterTableType.toString(), buffer);
+        BytesUtil.writeUTFString(String.valueOf(reverse), buffer);
     }
 
     @Override
@@ -139,6 +150,7 @@ public class MassInTupleFilter extends FunctionTupleFilter {
         filterTableName = BytesUtil.readUTFString(buffer);
         filterTableResourceIdentifier = BytesUtil.readUTFString(buffer);
         filterTableType = Functions.FilterTableType.valueOf(BytesUtil.readUTFString(buffer));
+        reverse = Boolean.valueOf(BytesUtil.readUTFString(buffer));
     }
 
     public static boolean containsMassInTupleFilter(TupleFilter filter) {
@@ -166,8 +178,22 @@ public class MassInTupleFilter extends FunctionTupleFilter {
 
     @Override
     protected Object clone() throws CloneNotSupportedException {
-        MassInTupleFilter result = new MassInTupleFilter();
-        result.setReverse(this.isReverse());
-        return result;
+        return new MassInTupleFilter(this);
+    }
+
+    public MassInValueProvider getValueProvider() {
+        return valueProvider;
+    }
+
+    public String getFilterTableName() {
+        return filterTableName;
+    }
+
+    public String getFilterTableResourceIdentifier() {
+        return filterTableResourceIdentifier;
+    }
+
+    public Functions.FilterTableType getFilterTableType() {
+        return filterTableType;
     }
 }


[3/3] kylin git commit: minor, change isReverse visibility in BuiltInFunctionTupleFilter.java

Posted by ma...@apache.org.
minor, change isReverse visibility in BuiltInFunctionTupleFilter.java


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

Branch: refs/heads/master
Commit: 00a4c5064bfe894bb8c106a214277d4d1d0f3c70
Parents: a03eec8
Author: Hongbin Ma <ma...@apache.org>
Authored: Sun Dec 4 21:41:07 2016 +0800
Committer: Hongbin Ma <ma...@apache.org>
Committed: Sun Dec 4 21:41:07 2016 +0800

----------------------------------------------------------------------
 .../apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/00a4c506/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java
index f6e687b..b678394 100755
--- a/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java
+++ b/core-metadata/src/main/java/org/apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java
@@ -47,7 +47,7 @@ public class BuiltInFunctionTupleFilter extends FunctionTupleFilter {
     protected Method method;
     protected List<Serializable> methodParams;
     protected boolean isValidFunc = false;
-    private boolean isReversed = false;
+    protected boolean isReversed = false;
 
     public BuiltInFunctionTupleFilter(String name) {
         this(name, null);