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 regionATTR- 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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContext, ChunkSource.WithPrev<ATTR extends Attributes.Any>Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
ColumnRegionObject.DictionaryKeysWrapper, ColumnRegionObject.IntDictionaryKeysWrapper, ColumnRegionObject.Null<T,ATTR extends Attributes.Any> Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Attributes.Any>, DefaultChunkSource.WithPrev<ATTR extends Attributes.Any>Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
Page.WithDefaults<ATTR extends Attributes.Any>, Page.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any> -
Field Summary
Fields inherited from class com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase
location, nativeTypeFields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAYFields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK -
Constructor Summary
ConstructorsConstructorDescriptionColumnRegionObjectCodecVariable(Class<T> nativeType, ObjectDecoder<T> decoder, ColumnRegionLong<Attributes.OrderedKeyIndices> offsetData, ColumnRegionByte<Attributes.EncodedObjects> binaryData, DeephavenFormatColumnLocation location) -
Method Summary
Modifier and TypeMethodDescriptionvoidfillChunkAppend(ChunkSource.FillContext fillContext, WritableChunk<? super ATTR> destination, OrderedKeys orderedKeys) Appends the values referenced byorderKeysontodestination.getObject(long elementIndex) Get a single object from this region.getObject(ChunkSource.FillContext context, long elementIndex) Get a single object from this region.longlength()makeFillContext(int chunkCapacity, SharedContext sharedContext) Allocate a newChunkSource.FillContextfor filling chunks from thisFillContextMaker, typically aChunkSource.voidRelease any resources held for caching purposes.Methods inherited from class com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase
binSearchMatch, chunkMatch, couldInclude, getLocation, getNativeTypeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
getChunkTypeMethods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, mask, specialMatch, supportsSpecialMatchingMethods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
gatherDictionaryValuesRowSet, getDictionaryKeysRegion, getDictionaryKeysRegionInt, getDictionaryRegionType, getDictionaryValuesRegion, skipCache, supportsDictionaryFormatMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRowMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page.WithDefaults
fillChunk, fillChunkAppendMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
maxRow
-
Constructor Details
-
ColumnRegionObjectCodecVariable
public ColumnRegionObjectCodecVariable(@NotNull Class<T> nativeType, @NotNull ObjectDecoder<T> decoder, @NotNull ColumnRegionLong<Attributes.OrderedKeyIndices> offsetData, @NotNull ColumnRegionByte<Attributes.EncodedObjects> binaryData, @NotNull DeephavenFormatColumnLocation location)
-
-
Method Details
-
getObject
Description copied from interface:ColumnRegionObjectGet 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
Description copied from interface:ColumnRegionObjectGet a single object from this region.- Parameters:
context- AColumnRegionFillContextto enable resource caching where suitable, with current region index pointing to this regionelementIndex- 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.WithDefaultsAppends the values referenced byorderKeysontodestination.orderKeysare assumed to be entirely contained on thisPage. -
length
public long length()- Returns:
- the length of this page.
-
releaseCachedResources
@OverridingMethodsMustInvokeSuper public void releaseCachedResources()Description copied from interface:ReleasableRelease any resources held for caching purposes. Implementations need not guarantee that they are safe for normal use concurrently with invocations of this method.
-