KYLIN-2212 bug fix in BuiltInFunctionTupleFilter serialization
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/eb686a94 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/eb686a94 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/eb686a94 Branch: refs/heads/KYLIN-1875 Commit: eb686a9428d930a60ec87883a2c253fb07f80a72 Parents: 0fd1ed6 Author: Li Yang <[email protected]> Authored: Fri Dec 2 18:34:29 2016 +0800 Committer: Li Yang <[email protected]> Committed: Fri Dec 2 18:34:29 2016 +0800 ---------------------------------------------------------------------- .../apache/kylin/metadata/filter/BuiltInFunctionTupleFilter.java | 4 ++++ 1 file changed, 4 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/eb686a94/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 1e836b7..f6e687b 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 @@ -151,17 +151,21 @@ public class BuiltInFunctionTupleFilter extends FunctionTupleFilter { @Override public void serialize(IFilterCodeSystem<?> cs, ByteBuffer buffer) { BytesUtil.writeUTFString(name, buffer); + buffer.put((byte) (isReversed ? 1 : 0)); } @Override public void deserialize(IFilterCodeSystem<?> cs, ByteBuffer buffer) { this.name = BytesUtil.readUTFString(buffer); + this.isReversed = buffer.get() != 0; this.initMethod(); } @Override public String toString() { StringBuilder sb = new StringBuilder(); + if (isReversed) + sb.append("NOT "); sb.append(name); sb.append("("); for (int i = 0; i < methodParams.size(); i++) {
