Class ParquetColumnRegionBase<ATTR extends Any>

java.lang.Object
io.deephaven.engine.table.impl.sources.regioned.GenericColumnRegionBase<ATTR>
io.deephaven.parquet.table.region.ParquetColumnRegionBase<ATTR>
All Implemented Interfaces:
Page<ATTR>, PagingChunkSource<ATTR>, ChunkSource<ATTR>, FillContextMaker, GetContextMaker, ColumnRegion<ATTR>, Releasable
Direct Known Subclasses:
ParquetColumnRegionByte, ParquetColumnRegionChar, ParquetColumnRegionDouble, ParquetColumnRegionFloat, ParquetColumnRegionInt, ParquetColumnRegionLong, ParquetColumnRegionObject, ParquetColumnRegionShort

public abstract class ParquetColumnRegionBase<ATTR extends Any> extends GenericColumnRegionBase<ATTR>
  • Method Details

    • getChunk

      public final Chunk<? extends ATTR> getChunk(@NotNull @NotNull ChunkSource.GetContext context, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource
      Returns a chunk of data corresponding to the keys from the given RowSequence.
      Specified by:
      getChunk in interface ChunkSource<ATTR extends Any>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk. In particular, the Context may be used to provide a Chunk data pool
      rowSequence - An RowSequence representing the keys to be fetched
      Returns:
      A chunk of data corresponding to the keys from the given RowSequence
    • getChunk

      public final Chunk<? extends ATTR> getChunk(@NotNull @NotNull ChunkSource.GetContext context, long firstKey, long lastKey)
      Description copied from interface: ChunkSource
      Same as ChunkSource.getChunk(GetContext, RowSequence), except that you pass in the begin and last keys representing the begin and last (inclusive) keys of a single range rather than an RowSequence. Typically you want to call this only if you don't have an RowSequence, such as during an RowSequence.forAllRowKeyRanges(LongRangeConsumer) call. In this case, it allows you to avoid creating an intermediary RowSequence object.
      Specified by:
      getChunk in interface ChunkSource<ATTR extends Any>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk. In particular, the Context may be used to provide a Chunk data pool
      firstKey - The beginning key (inclusive) of the range to fetch in the chunk
      lastKey - The last key (inclusive) of the range to fetch in the chunk
    • fillChunk

      public final void fillChunk(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super ATTR> destination, @NotNull @NotNull RowSequence rowSequence)
      Description copied from interface: ChunkSource
      Populates the given destination chunk with data corresponding to the keys from the given RowSequence.
      Specified by:
      fillChunk in interface ChunkSource<ATTR extends Any>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk.
      destination - The chunk to be populated according to rowSequence. No assumptions shall be made about the size of the chunk shall be made. The chunk will be populated from position [0,rowSequence.size()).
      rowSequence - An RowSequence representing the keys to be fetched
    • fillChunkAppend

      public final void fillChunkAppend(@NotNull @NotNull ChunkSource.FillContext context, @NotNull @NotNull WritableChunk<? super ATTR> destination, @NotNull RowSequence.Iterator rowSequenceIterator)
      Description copied from interface: PagingChunkSource

      Similar to ChunkSource.fillChunk(FillContext, WritableChunk, RowSequence), except that the values from the ChunkSource are appended to destination, rather than placed at the beginning.

      The values to fill into destination are specified by rowSequenceIterator, whose RowSequence.firstRowKey() must exist, and must be represented by this PagingChunkSource (modulo {#link @mask}), otherwise results are undefined.

      No more than the elements in rowSequenceIterator, which are on the same page as RowSequence.firstRowKey(), have their values appended to destination, and consumed from rowSequenceIterator. Indices are on the same page when the bits outside of PagingChunkSource.mask() are identical.

      Specified by:
      fillChunkAppend in interface PagingChunkSource<ATTR extends Any>
      Parameters:
      context - A context containing all mutable/state related data used in retrieving the Chunk. In particular, the Context may be used to provide a Chunk data pool
      destination - The chunk to append the results to.
      rowSequenceIterator - The iterator to the ordered keys, which contain at least the keys to extract from this ChunkSource. The keys to extract will be at the beginning of iteration order.
    • getChunkPageContaining

      public final ChunkPage<ATTR> getChunkPageContaining(long elementIndex)
    • releaseCachedResources

      @OverridingMethodsMustInvokeSuper public void releaseCachedResources()
      Description copied from interface: Releasable
      Release any resources held for caching purposes. Implementations need not guarantee that they are safe for normal use concurrently with invocations of this method.
      Specified by:
      releaseCachedResources in interface Releasable
    • makeFillContext

      public final ChunkSource.FillContext makeFillContext(int chunkCapacity, SharedContext sharedContext)
      Description copied from interface: FillContextMaker
      Allocate a new ChunkSource.FillContext for filling chunks from this FillContextMaker, typically a ChunkSource.
      Specified by:
      makeFillContext in interface FillContextMaker
      Parameters:
      chunkCapacity - The maximum size of any WritableChunk that will be filled with this context
      sharedContext - Shared store of intermediate results.
      Returns:
      A context for use with fill operations
    • makeGetContext

      public final ChunkSource.GetContext makeGetContext(int chunkCapacity, SharedContext sharedContext)
      Description copied from interface: GetContextMaker
      Allocate a new ChunkSource.GetContext for retrieving chunks from this GetContextMaker, typically a ChunkSource.
      Specified by:
      makeGetContext in interface GetContextMaker
      Parameters:
      chunkCapacity - The maximum size required for any WritableChunk allocated as part of the result.
      sharedContext - Shared store of intermediate results.
      Returns:
      A context for use with get operations