public ByteArrayRange intersection(final ByteArrayRange other) { return new ByteArrayRange( ByteArrayUtils.compare(start, other.start) <= 0 ? other.start : start, ByteArrayUtils.compare(getEndAsNextPrefix(), other.getEndAsNextPrefix()) >= 0 ? other.end : end); }
public ByteArrayRange union(final ByteArrayRange other) { return new ByteArrayRange( ByteArrayUtils.compare(start, other.start) <= 0 ? start : other.start, ByteArrayUtils.compare(getEndAsNextPrefix(), other.getEndAsNextPrefix()) >= 0 ? end : other.end); }
@Override public int compareTo(final ByteArrayRange other) { final int diff = ByteArrayUtils.compare(getStart(), other.getStart()); return diff != 0 ? diff : ByteArrayUtils.compare(getEndAsNextPrefix(), other.getEndAsNextPrefix()); }
public boolean intersects(final ByteArrayRange other) { if (isSingleValue()) { if (other.isSingleValue()) { return Arrays.equals(getStart(), other.getStart()); } return false; } return ((ByteArrayUtils.compare(getStart(), other.getEndAsNextPrefix()) < 0) && (ByteArrayUtils.compare(getEndAsNextPrefix(), other.getStart()) > 0)); }
public MultiRowRangeFilter getMultiRowRangeFilter(final List<ByteArrayRange> ranges) { // create the multi-row filter final List<RowRange> rowRanges = new ArrayList<>(); if ((ranges == null) || ranges.isEmpty()) { rowRanges.add( new RowRange(HConstants.EMPTY_BYTE_ARRAY, true, HConstants.EMPTY_BYTE_ARRAY, false)); } else { for (final ByteArrayRange range : ranges) { if (range.getStart() != null) { final byte[] startRow = range.getStart(); byte[] stopRow; if (!range.isSingleValue()) { stopRow = range.getEndAsNextPrefix(); } else { stopRow = ByteArrayUtils.getNextPrefix(range.getStart()); } final RowRange rowRange = new RowRange(startRow, true, stopRow, false); rowRanges.add(rowRange); } } } // Create the multi-range filter try { return new MultiRowRangeFilter(rowRanges); } catch (final IOException e) { LOGGER.error("Error creating range filter.", e); } return null; }
public CloseableIterator<T> results() { final List<RangeReadInfo> reads = new ArrayList<>(); for (final SinglePartitionQueryRanges r : ranges) { for (final ByteArrayRange range : r.getSortKeyRanges()) { final double start = range.getStart() != null ? RedisUtils.getScore(range.getStart()) : Double.NEGATIVE_INFINITY; final double end = range.getEnd() != null ? RedisUtils.getScore(range.getEndAsNextPrefix()) : Double.POSITIVE_INFINITY; reads.add(new RangeReadInfo(r.getPartitionKey(), start, end)); } } if (async) { return executeQueryAsync(reads); } else { return executeQuery(reads); } }
internalData.tailSet( new MemoryStoreEntry(p.getPartitionKey(), r.getStart())).headSet( new MemoryStoreEntry(p.getPartitionKey(), r.getEndAsNextPrefix()));
rscanner.setStartRow(range.getStart()).setStopRow(range.getEndAsNextPrefix());
final byte[] start = range.getStart() != null ? range.getStart() : new byte[0]; final byte[] end = range.getEnd() != null ? range.getEndAsNextPrefix() : new byte[] { (byte) 0xFF,
public synchronized CloseableIterator<GeoWaveRow> iterator(final ByteArrayRange range) { final RocksDB readDb = getReadDb(); if (readDb == null) { return new CloseableIterator.Empty<>(); } final ReadOptions options; final RocksIterator it; if (range.getEnd() == null) { options = null; it = readDb.newIterator(); } else { options = new ReadOptions().setIterateUpperBound(new Slice(range.getEndAsNextPrefix())); it = readDb.newIterator(options); } if (range.getStart() == null) { it.seekToFirst(); } else { it.seek(range.getStart()); } return new RocksDBRowIterator( options, it, adapterId, partition, requiresTimestamp, visibilityEnabled); } }
ByteArrayUtils.combineArrays( ByteArrayUtils.shortToByteArray(internalAdapterId), DynamoDBUtils.encodeSortableBase64(sortRange.getEndAsNextPrefix()));