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 2015/12/15 11:50:01 UTC
[2/2] kylin git commit: minor improvements
minor improvements
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/4ab1c141
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/4ab1c141
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/4ab1c141
Branch: refs/heads/2.x-staging
Commit: 4ab1c1411943e1ae241e3453fa4fe0572c4c8e8d
Parents: af060b2
Author: honma <ho...@ebay.com>
Authored: Tue Dec 15 16:56:44 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Tue Dec 15 18:56:38 2015 +0800
----------------------------------------------------------------------
.../org/apache/kylin/metadata/model/FunctionDesc.java | 14 +++++---------
.../metadata/datatype/BigDecimalSerializerTest.java | 4 +---
.../org/apache/kylin/invertedindex/model/IIDesc.java | 4 ++--
.../org/apache/kylin/query/routing/RoutingRule.java | 3 ---
.../storage/hbase/cube/v1/CubeTupleConverter.java | 3 +--
5 files changed, 9 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/4ab1c141/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 39fe6b3..36c8722 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
@@ -73,17 +73,13 @@ public class FunctionDesc {
}
parameter.setColRefs(colRefs);
-
- // make sure sum/max/min returns the exact type as its input
- if ((isSum() || isMax() || isMin()) && colRefs.size() > 0) {
- setReturnType(colRefs.get(0).getDatatype());
- }
+
}
-
+
public MeasureType<?> getMeasureType() {
if (isDimensionAsMetric)
return null;
-
+
if (measureType == null) {
measureType = MeasureTypeFactory.create(getExpression(), getReturnDataType());
}
@@ -93,7 +89,7 @@ public class FunctionDesc {
public boolean needRewrite() {
if (isDimensionAsMetric)
return false;
-
+
return getMeasureType().needRewrite();
}
@@ -186,7 +182,7 @@ public class FunctionDesc {
}
return count;
}
-
+
public String getReturnType() {
return returnType;
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/4ab1c141/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
----------------------------------------------------------------------
diff --git a/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java b/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
index f920ee7..dcdc3d4 100644
--- a/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
+++ b/core-metadata/src/test/java/org/apache/kylin/metadata/datatype/BigDecimalSerializerTest.java
@@ -1,12 +1,10 @@
package org.apache.kylin.metadata.datatype;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
import java.math.BigDecimal;
import java.nio.ByteBuffer;
-import org.apache.kylin.metadata.datatype.BigDecimalSerializer;
-import org.apache.kylin.metadata.datatype.DataType;
import org.junit.BeforeClass;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/kylin/blob/4ab1c141/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
----------------------------------------------------------------------
diff --git a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
index 452e3a3..cf57519 100644
--- a/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
+++ b/invertedindex/src/main/java/org/apache/kylin/invertedindex/model/IIDesc.java
@@ -94,7 +94,7 @@ public class IIDesc extends RootPersistentEntity {
@JsonProperty("storage_type")
private int storageType = IStorageAware.ID_HBASE;
-
+
@JsonProperty("signature")
private String signature;
@@ -230,7 +230,7 @@ public class IIDesc extends RootPersistentEntity {
p1.setColRefs(ImmutableList.of(new TblColRef(columnDesc)));
f1.setParameter(p1);
f1.setReturnType(returnType);
- if (f1.getReturnDataType().isIntegerFamily()) {
+ if (f1.isSum() && f1.getReturnDataType().isIntegerFamily()) {
f1.setReturnType("bigint");
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/4ab1c141/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
----------------------------------------------------------------------
diff --git a/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java b/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
index 715f6d1..cb42412 100644
--- a/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
+++ b/query/src/main/java/org/apache/kylin/query/routing/RoutingRule.java
@@ -36,9 +36,6 @@ public abstract class RoutingRule {
private static final Logger logger = LoggerFactory.getLogger(QueryRouter.class);
private static List<RoutingRule> rules = Lists.newLinkedList();
- //TODO: two rules are left out:
- //1. simple query use II prior to cube
- //2. exact match prior to week match
static {
rules.add(new RemoveUncapableRealizationsRule());
rules.add(new RealizationSortRule());
http://git-wip-us.apache.org/repos/asf/kylin/blob/4ab1c141/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeTupleConverter.java
----------------------------------------------------------------------
diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeTupleConverter.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeTupleConverter.java
index 3b90dfa..b43a616 100644
--- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeTupleConverter.java
+++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/cube/v1/CubeTupleConverter.java
@@ -63,7 +63,6 @@ public class CubeTupleConverter {
for (int i = 0; i < dimCols.size(); i++) {
TblColRef col = dimCols.get(i);
dimensionTupleIdx[i] = tupleInfo.hasColumn(col) ? tupleInfo.getColumnIndex(col) : -1;
- measureTypes.add(null);
}
// pre-calculate metrics index mapping to tuple
@@ -157,7 +156,7 @@ public class CubeTupleConverter {
int[] measureIdx = metricsMeasureIdx[i];
int[] tupleIdx = metricsTupleIdx[i];
for (int j = 0; j < measureIdx.length; j++) {
- if (measureTypes.get(dimensionValues.size() + j) != null) {
+ if (measureTypes.get(j) != null) {
tuple.setMeasureValue(tupleIdx[j], measureValues[measureIdx[j]]);
}
}