Class ColumnRegionObjectCodecVariable<T,ATTR extends Attributes.Values>

java.lang.Object
com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase<T,ATTR>
com.illumon.iris.db.v2.sources.regioned.ColumnRegionObjectCodecVariable<T,ATTR>
Type Parameters:
T - The realized type of the encoded objects within this region
ATTR - The Chunk attribute for this region
All Implemented Interfaces:
ChunkSource<ATTR>, DefaultChunkSource<ATTR>, FillContextMaker, GetContextMaker, Page<ATTR>, Page.WithDefaults<ATTR>, PagingChunkSource<ATTR>, ColumnRegion<ATTR>, ColumnRegionObject<T,ATTR>, Releasable

public final class ColumnRegionObjectCodecVariable<T,ATTR extends Attributes.Values> extends DeephavenColumnRegionObjectBase<T,ATTR>
A ColumnRegion for non-primitive types that have a variable size. Objects are stored within two underlying files.

The Offset file contains the byte offsets within the binary file for each index within the region. When reading from the binary file, we use offset at the previous index as the starting offset for the object and the offset at the current index as the ending offset within the binary file for the object.

The binary file contains the raw bytes of each object as encoded by the ObjectDecoder, which is typically defined as the codec at the schema level for a table.

  • Constructor Details

  • Method Details

    • getObject

      public T getObject(long elementIndex)
      Description copied from interface: ColumnRegionObject
      Get a single object from this region.
      Parameters:
      elementIndex - Element (object) index in the table's address space
      Returns:
      The object value at the specified element (object) index
    • getObject

      public T getObject(@NotNull ChunkSource.FillContext context, long elementIndex)
      Description copied from interface: ColumnRegionObject
      Get a single object from this region.
      Parameters:
      context - A ColumnRegionFillContext to enable resource caching where suitable, with current region index pointing to this region
      elementIndex - Element (object) index in the table's address space
      Returns:
      The object value at the specified element (object) index
    • fillChunkAppend

      public void fillChunkAppend(@NotNull ChunkSource.FillContext fillContext, @NotNull WritableChunk<? super ATTR> destination, @NotNull OrderedKeys orderedKeys)
      Description copied from interface: Page.WithDefaults
      Appends the values referenced by orderKeys onto destination. orderKeys are assumed to be entirely contained on this Page.
    • length

      public long length()
      Returns:
      the length of this page.
    • 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.
    • makeFillContext

      public 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.
      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