[ https://issues.apache.org/jira/browse/PHOENIX-2628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15225583#comment-15225583 ]
ASF GitHub Bot commented on PHOENIX-2628: ----------------------------------------- Github user JamesRTaylor commented on a diff in the pull request: https://github.com/apache/phoenix/pull/156#discussion_r58481703 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java --- @@ -279,6 +301,31 @@ protected RegionScanner getWrappedScanner(final ObserverContext<RegionCoprocesso final ImmutableBytesWritable ptr) { return new RegionScanner() { + private boolean hasReferences = checkForReferenceFiles(); + private HRegionInfo regionInfo = c.getEnvironment().getRegionInfo(); + private byte[] actualStartKey = getActualStartKey(); + + private boolean checkForReferenceFiles(){ + for(byte[] family: scan.getFamilies()) { + if(c.getEnvironment().getRegion().getStore(family).hasReferences()) { + return true; + } + } + return false; + } + + public byte[] getActualStartKey() { + if(ScanUtil.isLocalIndex(scan) && scan.getAttribute(SCAN_START_ROW_SUFFIX)!=null) { + byte[] startKey = ScanRanges.prefixKey(scan.getAttribute(SCAN_START_ROW_SUFFIX), 0, regionInfo.getStartKey().length == 0 ? new byte[regionInfo.getEndKey().length]: regionInfo.getStartKey(), regionInfo.getStartKey().length == 0? regionInfo.getEndKey().length: regionInfo.getStartKey().length); + if(Bytes.compareTo(scan.getStartRow(), startKey)>=0) { + return scan.getStartRow(); + } else { + return startKey; + } + } + return null; + } + @Override public boolean next(List<Cell> results) throws IOException { --- End diff -- Can we refactor the code between these two next(List<Cell>, ...) implementations, as there's now a fair amount of code which is duplicated here? > Ensure split when iterating through results handled correctly > ------------------------------------------------------------- > > Key: PHOENIX-2628 > URL: https://issues.apache.org/jira/browse/PHOENIX-2628 > Project: Phoenix > Issue Type: Bug > Reporter: James Taylor > Assignee: Rajeshbabu Chintaguntla > Fix For: 4.8.0 > > Attachments: PHOENIX-2628-wip.patch, PHOENIX-2628.patch, > PHOENIX-2628_v7.patch, PHOENIX-2628_v8.patch > > > We should start with a test case to ensure this works correctly, both for > scans and aggregates. -- This message was sent by Atlassian JIRA (v6.3.4#6332)