James Taylor created PHOENIX-1163:
-------------------------------------

             Summary: Intersect min/max range with scan range during 
compilation when salted
                 Key: PHOENIX-1163
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1163
             Project: Phoenix
          Issue Type: Bug
            Reporter: James Taylor
            Assignee: James Taylor


There's some hacky code in ParallelIterators that can be removed if we 
intersect the scan range earlier, during compilation. See this FIXME:
{code}
            if (tableRef.getTable().getBucketNum() != null) {
                KeyRange minMaxRange = context.getMinMaxRange();
                if (minMaxRange != null) {
                    // Add salt byte based on current split, as minMaxRange 
won't have it
                    minMaxRange = 
SaltingUtil.addSaltByte(split.getLowerRange(), minMaxRange);
                    // FIXME: seems like this should be possible when we set 
the scan start/stop
                    // in StatementContext.setScanRanges(). If it doesn't 
intersect the range for
                    // one salt byte, I don't see how it could intersect it 
with any of them.
                    if (!ScanUtil.intersectScanRange(splitScan, 
minMaxRange.getLowerRange(), minMaxRange.getUpperRange())) {
                        continue; // Skip this chunk if no intersection based 
on minMaxRange
                    }
                }
            }
{code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to