private static Collection<?> foreach( ScanRanges scanRanges, int[] widths, KeyRange[] expectedSplits) { SkipScanFilter filter = new SkipScanFilter(scanRanges.getRanges(), buildSchema(widths)); Scan scan = new Scan().setFilter(filter).setStartRow(KeyRange.UNBOUND).setStopRow(KeyRange.UNBOUND); List<Object> ret = Lists.newArrayList(); ret.add(new Object[] {scan, scanRanges, Arrays.<KeyRange>asList(expectedSplits)}); return ret; }
private static Collection<?> foreach( KeyRange[][] ranges, int[] widths, KeyRange[] expectedSplits) { RowKeySchema schema = buildSchema(widths); List<List<KeyRange>> slots = Lists.transform(Lists.newArrayList(ranges), ARRAY_TO_LIST); SkipScanFilter filter = new SkipScanFilter(slots, schema); // Always set start and stop key to max to verify we are using the information in skipscan // filter over the scan's KMIN and KMAX. Scan scan = new Scan().setFilter(filter).setStartRow(KeyRange.UNBOUND).setStopRow(KeyRange.UNBOUND); ScanRanges scanRanges = ScanRanges.create(slots, schema); List<Object> ret = Lists.newArrayList(); ret.add(new Object[] {scan, scanRanges, Arrays.<KeyRange>asList(expectedSplits)}); return ret; }