Repository: kylin Updated Branches: refs/heads/helix-201602 3b4c9928a -> 01cda3cbd
KYLIN-1420 Query returns empty result on partition column's boundary condition Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/dc460de2 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/dc460de2 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/dc460de2 Branch: refs/heads/helix-201602 Commit: dc460de21327da50154ac7b214ae877dde4d8055 Parents: 3b4c992 Author: shaofengshi <shaofeng...@apache.org> Authored: Mon Feb 15 15:52:15 2016 +0800 Committer: shaofengshi <shaofeng...@apache.org> Committed: Tue Feb 16 11:02:42 2016 +0800 ---------------------------------------------------------------------- .../main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/dc460de2/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java ---------------------------------------------------------------------- diff --git a/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java index a72426d..d314dde 100644 --- a/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java +++ b/core-cube/src/main/java/org/apache/kylin/gridtable/GTScanRangePlanner.java @@ -108,8 +108,8 @@ public class GTScanRangePlanner { for (ColumnRange range : andDimRanges) { if (partitionColRef != null && range.column.equals(partitionColRef)) { if (rangeStartEndComparator.comparator.compare(segmentStartAndEnd.getFirst(), range.end) <= 0 // - && rangeStartEndComparator.comparator.compare(range.begin, segmentStartAndEnd.getSecond()) < 0) { - //segment range is [Closed,Open) + && rangeStartEndComparator.comparator.compare(range.begin, segmentStartAndEnd.getSecond()) <= 0) { + //segment range is [Closed,Open), but segmentStartAndEnd.getSecond() might be rounded, so use <=. } else { logger.debug("Pre-check partition col filter failed, partitionColRef {}, segment start {}, segment end {}, range begin {}, range end {}",// new Object[] { partitionColRef, makeReadable(segmentStartAndEnd.getFirst()), makeReadable(segmentStartAndEnd.getSecond()), makeReadable(range.begin), makeReadable(range.end) });