@Override public float getProgress() throws IOException { if ((numKeysRead > 0) && (currentGeoWaveKey == null)) { return 1.0f; } if (currentGeoWaveRangeIndexPair == null) { return 0.0f; } final ProgressPerRange progress = progressPerRange.get(currentGeoWaveRangeIndexPair); if (progress == null) { return Math.min( 1, Math.max( 0, getProgressForRange(currentGeoWaveRangeIndexPair.getRange(), currentGeoWaveKey))); } return Math.min( 1, Math.max( 0, getOverallProgress( currentGeoWaveRangeIndexPair.getRange(), currentGeoWaveKey, progress))); }
Pair.of( next.index, new ByteArray(next.rangeLocationPair.getRange().getPartitionKey()))), currentCardinality, targetCardinality);
final byte[] start = rangeLocationPair.getRange().getStartSortKey(); final byte[] end = rangeLocationPair.getRange().getEndSortKey(); final double cdfStart = start == null ? 0.0 : stats.cdf(start); if (((start != null) && (new ByteArray(start).compareTo(new ByteArray(splitKey)) >= 0)) || ((end != null) && (new ByteArray(end).compareTo(new ByteArray(splitKey)) <= 0))) { splitKey = SplitsProvider.getMidpoint(rangeLocationPair.getRange()); if (splitKey == null) { return null; if (Arrays.equals(end, splitKey) && !rangeLocationPair.getRange().isEndSortKeyInclusive()) { rangeLocationPair = new RangeLocationPair( new GeoWaveRowRange( rangeLocationPair.getRange().getPartitionKey(), rangeLocationPair.getRange().getStartSortKey(), splitKey, rangeLocationPair.getRange().isStartSortKeyInclusive(), endKeyInclusive), location, stats.cardinality(rangeLocationPair.getRange().getStartSortKey(), splitKey)); return null; new RangeLocationPair( new GeoWaveRowRange( rangeLocationPair.getRange().getPartitionKey(), rangeLocationPair.getRange().getStartSortKey(), splitKey, rangeLocationPair.getRange().isStartSortKeyInclusive(),
splitInfo.isAuthorizationsLimiting(), splitInfo.isClientsideRowMerging(), r.getRange(), sanitizedQueryOptions.getLimit(), sanitizedQueryOptions.getMaxRangeDecomposition(),