@Override public QueryRanges getQueryRanges( final MultiDimensionalNumericData indexedRange, final int maxRangeDecomposition, final IndexMetaData... hints) { return indexStrategy.getQueryRanges(indexedRange, maxRangeDecomposition, hints); }
@Override public QueryRanges getQueryRanges( final MultiDimensionalNumericData indexedRange, final IndexMetaData... hints) { return indexStrategy.getQueryRanges(indexedRange, hints); }
public static QueryRanges constraintsToByteArrayRanges( final MultiDimensionalNumericData constraints, final NumericIndexStrategy indexStrategy, final int maxRanges) { if ((constraints == null) || constraints.isEmpty()) { return null; // implies in negative and // positive infinity } else { return indexStrategy.getQueryRanges(constraints, maxRanges); } }
public static byte[][] getQueryPartitionKeys( final NumericIndexStrategy strategy, final MultiDimensionalNumericData queryData, final IndexMetaData... hints) { final QueryRanges queryRanges = strategy.getQueryRanges(queryData, hints); return queryRanges.getPartitionQueryRanges().stream().map( input -> input.getPartitionKey()).toArray(i -> new byte[i][]); }
@Override public QueryRanges getQueryRanges( final MultiDimensionalNumericData indexedRange, final int maxEstimatedRangeDecomposition, final IndexMetaData... hints) { final byte[][] partitionIds = subStrategy1.getQueryPartitionKeys(indexedRange, extractHints(hints, 0)); final QueryRanges queryRanges = subStrategy2.getQueryRanges( indexedRange, maxEstimatedRangeDecomposition, extractHints(hints, 1)); return new QueryRanges(partitionIds, queryRanges); }
final List<QueryRanges> ranges = new ArrayList<>(constraints.size()); for (final MultiDimensionalNumericData nd : constraints) { ranges.add(indexStrategy.getQueryRanges(nd, maxRanges, hints));