Interface ColumnRegionObject<T,ATTR extends Attributes.Any>
- All Superinterfaces:
ChunkSource<ATTR>,ColumnRegion<ATTR>,FillContextMaker,GetContextMaker,Page<ATTR>,PagingChunkSource<ATTR>,Releasable
- All Known Implementing Classes:
ColumnRegionChunkDictionary,ColumnRegionObject.Null,ColumnRegionObjectCached,ColumnRegionObjectCodecFixed,ColumnRegionObjectCodecVariable,ColumnRegionObjectWithDictionary,ColumnRegionStringSet,DeephavenColumnRegionObjectBase,DeferredColumnRegionObject,ParquetColumnRegionObject,ParquetColumnRegionObject.StaticPageStore
Column region interface for regions that support fetching objects.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classstatic final classstatic classColumnRegionObject.Null<T,ATTR extends Attributes.Any> The null region returns null for all indices.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.chunk.page.Page
Page.WithDefaults<ATTR extends Attributes.Any>, Page.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any> -
Field Summary
Fields 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 -
Method Summary
Modifier and TypeMethodDescriptioncreateDictionaryKeysWrapper(int regionIndex, ColumnRegionObject<?, ?> sourceRegion) static <T,ATTR extends Attributes.Any>
ColumnRegionObject.Null<T,ATTR> default booleangatherDictionaryValuesRowSet(ReadOnlyIndex.SearchIterator keysToVisit, ReadOnlyIndex.Iterator knownKeys, Index.SequentialBuilder sequentialBuilder) Optional method that should only be used on regions returned bygetDictionaryValuesRegion().Get a view of this region as long dictionary keys.default ColumnRegionInt<Attributes.DictionaryKeys>Get a view of this region as int dictionary keys.default ChunkTypedefault ColumnRegionObject<T,ATTR> Get a view of this region as dictionary values.Class<?>getObject(long elementIndex) Get a single object from this region.default TgetObject(ChunkSource.FillContext context, long elementIndex) Get a single object from this region.default ColumnRegionObject<T,ATTR> Get a version of this region that skips all internal value caching.default RegionVisitResultsupportsDictionaryFormat(ReadOnlyIndex.SearchIterator keysToVisit) Check if this region can expose an alternate form as paired regions oflongkeys andDATA_TYPEvalues covering all of its row keys inkeysToVisit.Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
fillChunk, getChunk, getChunk, getChunkTypeMethods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
binSearchMatch, chunkMatch, couldInclude, firstRowOffset, getLocation, mask, specialMatch, supportsSpecialMatchingMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext, makeFillContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext, makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRow, lengthMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
fillChunkAppend, maxRowMethods inherited from interface com.illumon.iris.db.v2.sources.Releasable
releaseCachedResources
-
Method Details
-
getObject
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
Get 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
-
supportsDictionaryFormat
default RegionVisitResult supportsDictionaryFormat(@NotNull ReadOnlyIndex.SearchIterator keysToVisit) Check if this region can expose an alternate form as paired regions oflongkeys andDATA_TYPEvalues covering all of its row keys inkeysToVisit.Both alternate regions must use the same or smaller row key space as this one. Indices fetched from the keys region must represent valid element indices in the values region. Values regions must support
gatherDictionaryValuesRowSet(Index.SearchIterator, Index.Iterator, Index.SequentialBuilder).Use
getDictionaryKeysRegion()to access the region of keys andgetDictionaryValuesRegion()to access the region of values.- Parameters:
keysToVisit- Iterator positioned at the first relevant row key belonging to this region. Will be advanced to after this region iftrueis returned. No guarantee is made iffalseis returned.- Returns:
- A
RegionVisitResultspecifyingFAILEDif this region cannot supply a dictionary,CONTINUEif it can andkeysToVisitis not exhausted, andCOMPLETEif it can andkeysToVisitis exhausted
-
gatherDictionaryValuesRowSet
default boolean gatherDictionaryValuesRowSet(@NotNull ReadOnlyIndex.SearchIterator keysToVisit, @NotNull ReadOnlyIndex.Iterator knownKeys, @NotNull Index.SequentialBuilder sequentialBuilder) Optional method that should only be used on regions returned bygetDictionaryValuesRegion(). Gathers- Parameters:
keysToVisit- A search iterator over the enclosing table address space (which must have the same regions at the same masks), positioned at a row key in this region. Used to identify regions to visit. Should be advanced to after this region as a side-effect.knownKeys- An iterator over the previously-known row keys, positioned at the first known key in this region, or after the region's maximum key if no keys are known. Should be advanced to after this region as a side effect.sequentialBuilder- Output builder; implementations should append ranges for row keys not found inknownKeys- Returns:
- Whether
keysToVisithas been exhausted - Throws:
UnsupportedOperationException- If this region is incapable of gathering its dictionary values RowSet
-
getDictionaryRegionType
-
getDictionaryKeysRegion
Get a view of this region as long dictionary keys.- Returns:
- A dictionary keys region as specified by
supportsDictionaryFormat(Index.SearchIterator) - Throws:
UnsupportedOperationException- If this region does not support dictionary format- ImplNote:
- Implementations should cache the result
-
getDictionaryKeysRegionInt
Get a view of this region as int dictionary keys.- Returns:
- A dictionary keys region as specified by
supportsDictionaryFormat(Index.SearchIterator) - Throws:
UnsupportedOperationException- If this region does not support dictionary format- ImplNote:
- Implementations should cache the result
-
getDictionaryValuesRegion
Get a view of this region as dictionary values.- Returns:
- A dictionary values region as specified by
supportsDictionaryFormat(Index.SearchIterator) - Throws:
UnsupportedOperationException- If this region does not support dictionary format- ImplNote:
- Implementations should cache the result
-
skipCache
Get a version of this region that skips all internal value caching.- Returns:
- a view of this region that ignores any value caching.
-
getNativeType
Class<?> getNativeType()- Specified by:
getNativeTypein interfaceChunkSource<T>
-
createNull
-
createDictionaryKeysWrapper
static ColumnRegionLong<Attributes.DictionaryKeys> createDictionaryKeysWrapper(int regionIndex, @NotNull ColumnRegionObject<?, ?> sourceRegion)
-