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, DefaultChunkSource<ATTR>, 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>
      Specified by:
      getChunk in interface DefaultChunkSource<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>
      Specified by:
      getChunk in interface DefaultChunkSource<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 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 PagingChunkSource.mask()), otherwise results are undefined.

      All values specified by rowSequenceIterator that are on the same page as its next row key will be appended to destination. Row keys 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 filling destination
      destination - The WritableChunk to append the results to
      rowSequenceIterator - An iterator over the remaining row keys specifying the values to retrieve, which contains at least the keys to extract from this PagingChunkSource
    • 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