This is an automated email from the ASF dual-hosted git repository. liyang pushed a commit to branch sync in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 3202191dc0b68aeaeb3076d384a31aae1bc1decb Author: Li Yang <[email protected]> AuthorDate: Thu Jun 21 16:40:01 2018 +0800 KYLIN-3370 enhance segment pruning, add some comment --- .../src/main/java/org/apache/kylin/cube/common/SegmentPruner.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core-cube/src/main/java/org/apache/kylin/cube/common/SegmentPruner.java b/core-cube/src/main/java/org/apache/kylin/cube/common/SegmentPruner.java index 098f334..b7f0809 100644 --- a/core-cube/src/main/java/org/apache/kylin/cube/common/SegmentPruner.java +++ b/core-cube/src/main/java/org/apache/kylin/cube/common/SegmentPruner.java @@ -135,10 +135,16 @@ public class SegmentPruner { private boolean satisfy(CompareTupleFilter comp, String minVal, String maxVal) { + // When both min and max are null, it means all cells of the column are null. + // In such case, return true to let query engine scan the segment, since the + // result of null comparison is query engine specific. + if (minVal == null && maxVal == null) + return true; + TblColRef col = comp.getColumn(); DataTypeOrder order = col.getType().getOrder(); String filterVal = toString(comp.getFirstValue()); - + switch (comp.getOperator()) { case EQ: case IN:
