You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2016/04/07 09:33:33 UTC

kylin git commit: KYLIN-1551 check parameters for top_n measure

Repository: kylin
Updated Branches:
  refs/heads/master c6412c4a7 -> b43174f09


KYLIN-1551 check parameters for top_n measure


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

Branch: refs/heads/master
Commit: b43174f092d96602bc6f982fdbccb68630d041a0
Parents: c6412c4
Author: shaofengshi <sh...@apache.org>
Authored: Thu Apr 7 15:33:00 2016 +0800
Committer: shaofengshi <sh...@apache.org>
Committed: Thu Apr 7 15:33:15 2016 +0800

----------------------------------------------------------------------
 .../kylin/cube/model/validation/rule/FunctionRule.java       | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kylin/blob/b43174f0/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/FunctionRule.java
----------------------------------------------------------------------
diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/FunctionRule.java b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/FunctionRule.java
index 261c125..372ac9e 100644
--- a/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/FunctionRule.java
+++ b/core-cube/src/main/java/org/apache/kylin/cube/model/validation/rule/FunctionRule.java
@@ -29,6 +29,7 @@ import org.apache.kylin.cube.model.CubeDesc;
 import org.apache.kylin.cube.model.validation.IValidatorRule;
 import org.apache.kylin.cube.model.validation.ResultLevel;
 import org.apache.kylin.cube.model.validation.ValidateContext;
+import org.apache.kylin.measure.topn.TopNMeasureType;
 import org.apache.kylin.metadata.MetadataManager;
 import org.apache.kylin.metadata.model.ColumnDesc;
 import org.apache.kylin.metadata.model.FunctionDesc;
@@ -101,6 +102,13 @@ public class FunctionRule implements IValidatorRule<CubeDesc> {
 
             if (func.isCount())
                 countFuncs.add(func);
+
+            if (TopNMeasureType.FUNC_TOP_N.equalsIgnoreCase(func.getExpression())) {
+                if (parameter.getNextParameter() == null) {
+                    context.addResult(ResultLevel.ERROR, "Must define 2 parameters for function " + func.getExpression() + " in " + measure.getName());
+                    return;
+                }
+            }
         }
 
         if (countFuncs.size() != 1) {