Class ColumnRegionObjectWithDictionary<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.ColumnRegionObjectWithDictionary<T,ATTR>
- Type Parameters:
T
-ATTR
-
- All Implemented Interfaces:
ChunkSource<ATTR>
,DefaultChunkSource<ATTR>
,FillContextMaker
,GetContextMaker
,Page<ATTR>
,Page.WithDefaults<ATTR>
,PagingChunkSource<ATTR>
,ColumnRegion<ATTR>
,ColumnRegionObject<T,
,ATTR> Releasable
public class ColumnRegionObjectWithDictionary<T,ATTR extends Attributes.Values>
extends DeephavenColumnRegionObjectBase<T,ATTR>
A Column region for objects that is backed by a dictionary of values. Note that the dictionary keys are
in the flat address space within the region
[0,regionSize)
, not of the region itself.-
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, nativeType
Fields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK
-
Constructor Summary
ConstructorsConstructorDescriptionColumnRegionObjectWithDictionary
(ColumnRegionObject<T, ATTR> valuesRegion, ColumnRegionInt<Attributes.DictionaryKeys> dictionaryKeysRegion, int expectedObjectWidth, DeephavenFormatColumnLocation location) -
Method Summary
Modifier and TypeMethodDescriptionchunkMatch
(long regionFirstKey, OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, Object[] keys) void
fillChunkAppend
(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, OrderedKeys orderedKeys) Appends the values referenced byorderKeys
ontodestination
.Get a view of this region as int dictionary keys.Get a view of this region as dictionary values.getObject
(long elementIndex) Get a single object from this region.getObject
(ChunkSource.FillContext context, long elementIndex) Get a single object from this region.long
length()
makeFillContext
(int chunkCapacity, SharedContext sharedContext) Allocate a newChunkSource.FillContext
for filling chunks from thisFillContextMaker
, typically aChunkSource
.void
Release any resources held for caching purposes.supportsDictionaryFormat
(ReadOnlyIndex.SearchIterator keysToVisit) Check if this region can expose an alternate form as paired regions oflong
keys andDATA_TYPE
values covering all of its row keys inkeysToVisit
.Methods inherited from class com.illumon.iris.db.v2.sources.regioned.DeephavenColumnRegionObjectBase
binSearchMatch, couldInclude, getLocation, getNativeType
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
getChunkType
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, mask, specialMatch, supportsSpecialMatching
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
gatherDictionaryValuesRowSet, getDictionaryKeysRegion, skipCache
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRow
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page.WithDefaults
fillChunk, fillChunkAppend
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
maxRow
-
Constructor Details
-
ColumnRegionObjectWithDictionary
public ColumnRegionObjectWithDictionary(@NotNull ColumnRegionObject<T, ATTR> valuesRegion, @NotNull ColumnRegionInt<Attributes.DictionaryKeys> dictionaryKeysRegion, int expectedObjectWidth, @NotNull DeephavenFormatColumnLocation location)
-
-
Method Details
-
getObject
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
Description copied from interface:ColumnRegionObject
Get a single object from this region.- Parameters:
context
- AColumnRegionFillContext
to 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 context, @NotNull WritableChunk<? super ATTR> destination, @NotNull OrderedKeys orderedKeys) Description copied from interface:Page.WithDefaults
Appends the values referenced byorderKeys
ontodestination
.orderKeys
are assumed to be entirely contained on thisPage
. -
length
public long length()- Returns:
- the length of this page.
-
releaseCachedResources
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. -
getDictionaryRegionType
-
getDictionaryKeysRegionInt
Description copied from interface:ColumnRegionObject
Get a view of this region as int dictionary keys.- Returns:
- A dictionary keys region as specified by
ColumnRegionObject.supportsDictionaryFormat(Index.SearchIterator)
-
supportsDictionaryFormat
public RegionVisitResult supportsDictionaryFormat(@NotNull ReadOnlyIndex.SearchIterator keysToVisit) Description copied from interface:ColumnRegionObject
Check if this region can expose an alternate form as paired regions oflong
keys andDATA_TYPE
values 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
ColumnRegionObject.gatherDictionaryValuesRowSet(Index.SearchIterator, Index.Iterator, Index.SequentialBuilder)
.Use
ColumnRegionObject.getDictionaryKeysRegion()
to access the region of keys andColumnRegionObject.getDictionaryValuesRegion()
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 iftrue
is returned. No guarantee is made iffalse
is returned.- Returns:
- A
RegionVisitResult
specifyingFAILED
if this region cannot supply a dictionary,CONTINUE
if it can andkeysToVisit
is not exhausted, andCOMPLETE
if it can andkeysToVisit
is exhausted
-
getDictionaryValuesRegion
Description copied from interface:ColumnRegionObject
Get a view of this region as dictionary values.- Returns:
- A dictionary values region as specified by
ColumnRegionObject.supportsDictionaryFormat(Index.SearchIterator)
-
chunkMatch
public Index chunkMatch(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) - Specified by:
chunkMatch
in interfaceColumnRegion<T>
- Overrides:
chunkMatch
in classDeephavenColumnRegionObjectBase<T,
ATTR extends Attributes.Values>
-