KYLIN-1478 initial change
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/a490224e Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/a490224e Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/a490224e Branch: refs/heads/master Commit: a490224eea84fd400320f8e29732c7371a5d0a73 Parents: 9ad34ec Author: shaofengshi <shaofeng...@apache.org> Authored: Wed Jun 1 22:24:11 2016 +0800 Committer: shaofengshi <shaofeng...@apache.org> Committed: Mon Jun 6 18:28:56 2016 +0800 ---------------------------------------------------------------------- .../apache/kylin/measure/topn/TopNMeasureType.java | 6 +++++- .../apache/kylin/metadata/model/FunctionDesc.java | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/a490224e/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 d17c7d5..009edef 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 @@ -52,6 +52,10 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> { public static final String FUNC_TOP_N = "TOP_N"; public static final String DATATYPE_TOPN = "topn"; + public static final String CONFIG_ENCODING_PREFIX = "topn.encoding."; + public static final String CONFIG_AGG = "topn.aggregation"; + public static final String CONFIG_ORDER = "topn.order"; + public static class Factory extends MeasureTypeFactory<TopNCounter<ByteArray>> { @Override @@ -95,7 +99,7 @@ public class TopNMeasureType extends MeasureType<TopNCounter<ByteArray>> { if (DATATYPE_TOPN.equals(dataType.getName()) == false) throw new IllegalArgumentException(); - if (dataType.getPrecision() < 1 || dataType.getPrecision() > 5000) + if (dataType.getPrecision() < 1 || dataType.getPrecision() > 10000) throw new IllegalArgumentException(); } http://git-wip-us.apache.org/repos/asf/kylin/blob/a490224e/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 f237e73..0906d5f 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 @@ -18,10 +18,7 @@ package org.apache.kylin.metadata.model; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.Set; +import java.util.*; import org.apache.kylin.measure.MeasureType; import org.apache.kylin.measure.MeasureTypeFactory; @@ -64,6 +61,9 @@ public class FunctionDesc { @JsonProperty("returntype") private String returnType; + @JsonProperty("configurations") + private HashMap<String, String> configurations = new LinkedHashMap<String, String>(); + private DataType returnDataType; private MeasureType<?> measureType; private boolean isDimensionAsMetric = false; @@ -265,6 +265,15 @@ public class FunctionDesc { return null; } + public HashMap<String, String> getConfigurations() { + return configurations; + } + + public void setConfigurations(HashMap<String, String> configurations) { + this.configurations = configurations; + } + + @Override public int hashCode() { final int prime = 31;