/** * Get a slice for the disk range from the provided buffers. The buffers ranges do not have * to exactly match {@code diskRange}, but {@code diskRange} must be completely contained within * one of the buffer ranges. */ public static Slice getDiskRangeSlice(DiskRange diskRange, Map<DiskRange, byte[]> buffers) { for (Entry<DiskRange, byte[]> bufferEntry : buffers.entrySet()) { DiskRange bufferRange = bufferEntry.getKey(); byte[] buffer = bufferEntry.getValue(); if (bufferRange.contains(diskRange)) { int offset = toIntExact(diskRange.getOffset() - bufferRange.getOffset()); return Slices.wrappedBuffer(buffer, offset, diskRange.getLength()); } } throw new IllegalStateException("No matching buffer for disk range"); } }
/** * Get a slice for the disk range from the provided buffers. The buffers ranges do not have * to exactly match {@code diskRange}, but {@code diskRange} must be completely contained within * one of the buffer ranges. */ public static Slice getDiskRangeSlice(DiskRange diskRange, Map<DiskRange, byte[]> buffers) { for (Entry<DiskRange, byte[]> bufferEntry : buffers.entrySet()) { DiskRange bufferRange = bufferEntry.getKey(); byte[] buffer = bufferEntry.getValue(); if (bufferRange.contains(diskRange)) { int offset = toIntExact(diskRange.getOffset() - bufferRange.getOffset()); return Slices.wrappedBuffer(buffer, offset, diskRange.getLength()); } } throw new IllegalStateException("No matching buffer for disk range"); } }
public Slice loadNestedDiskRangeBuffer(DiskRange nestedDiskRange) { load(); checkArgument(diskRange.contains(nestedDiskRange)); int offset = toIntExact(nestedDiskRange.getOffset() - diskRange.getOffset()); return bufferSlice.slice(offset, nestedDiskRange.getLength()); }
public Slice loadNestedDiskRangeBuffer(DiskRange nestedDiskRange) { load(); checkArgument(diskRange.contains(nestedDiskRange)); int offset = toIntExact(nestedDiskRange.getOffset() - diskRange.getOffset()); return bufferSlice.slice(offset, nestedDiskRange.getLength()); }
for (Entry<K, DiskRange> diskRangeEntry : diskRanges.entrySet()) { DiskRange diskRange = diskRangeEntry.getValue(); if (mergedRange.contains(diskRange)) { FixedLengthSliceInput sliceInput = new LazySliceInput(diskRange.getLength(), new LazyMergedSliceLoader(diskRange, mergedRangeLazyLoader)); slices.put(diskRangeEntry.getKey(), new OrcDataSourceInput(sliceInput, diskRange.getLength()));
for (Entry<K, DiskRange> diskRangeEntry : diskRanges.entrySet()) { DiskRange diskRange = diskRangeEntry.getValue(); if (mergedRange.contains(diskRange)) { FixedLengthSliceInput sliceInput = new LazySliceInput(diskRange.getLength(), new LazyMergedSliceLoader(diskRange, mergedRangeLazyLoader)); slices.put(diskRangeEntry.getKey(), new OrcDataSourceInput(sliceInput, diskRange.getLength()));