Repository: kylin Updated Branches: refs/heads/master 07d892124 -> 8822e78af
KYLIN-2181 fail cube which uses fixedlength for integer/number Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/8822e78a Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/8822e78a Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/8822e78a Branch: refs/heads/master Commit: 8822e78af041dbcd00f89c5e3ef65a712d394d76 Parents: 8ed3fbc Author: Hongbin Ma <mahong...@apache.org> Authored: Mon Nov 14 18:27:21 2016 +0800 Committer: Hongbin Ma <mahong...@apache.org> Committed: Mon Nov 14 18:27:25 2016 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/kylin/cube/model/RowKeyColDesc.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/8822e78a/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyColDesc.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyColDesc.java b/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyColDesc.java index 9e2cb48..6192d76 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyColDesc.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/model/RowKeyColDesc.java @@ -23,6 +23,7 @@ import org.apache.kylin.dimension.DateDimEnc; import org.apache.kylin.dimension.DictionaryDimEnc; import org.apache.kylin.dimension.DimensionEncoding; import org.apache.kylin.dimension.DimensionEncodingFactory; +import org.apache.kylin.dimension.FixedLenDimEnc; import org.apache.kylin.dimension.TimeDimEnc; import org.apache.kylin.metadata.datatype.DataType; import org.apache.kylin.metadata.model.TblColRef; @@ -61,7 +62,7 @@ public class RowKeyColDesc { column = column.toUpperCase(); bitIndex = index; colRef = cubeDesc.getModel().findColumn(column); - Preconditions.checkArgument(colRef != null, "Cannot find rowkey column %s in cube %s", column, cubeDesc); + Preconditions.checkArgument(colRef != null, "Cannot find rowkey column %s in cube %s", column, cubeDesc); Preconditions.checkState(StringUtils.isNotEmpty(this.encoding)); Object[] encodingConf = DimensionEncoding.parseEncodingConf(this.encoding); @@ -86,6 +87,8 @@ public class RowKeyColDesc { throw new IllegalArgumentException(colRef + " type is " + type + " and cannot apply date encoding"); if (TimeDimEnc.ENCODING_NAME.equals(encodingName) && type.isTimeFamily() == false) throw new IllegalArgumentException(colRef + " type is " + type + " and cannot apply time encoding"); + if (encodingName.startsWith(FixedLenDimEnc.ENCODING_NAME) && (type.isIntegerFamily() || type.isNumberFamily())) + throw new IllegalArgumentException(colRef + " type is " + type + " and cannot apply fixed_length encoding"); } public String getEncoding() {