Interface SsmBackedColumnSource<K extends SegmentedSortedMultiSet,T extends DbArrayBase>
- Type Parameters:
K
- The SSM TypeT
- The provided Array type
- All Superinterfaces:
ChunkSource<Attributes.Values>
,ChunkSource.WithPrev<Attributes.Values>
,ColumnSource<T>
,DefaultChunkSource<Attributes.Values>
,DefaultChunkSource.WithPrev<Attributes.Values>
,ElementSource<T>
,FillContextMaker
,GetContextMaker
,Releasable
,TupleExporter<T>
,TupleSource<T>
- All Known Implementing Classes:
ByteSsmBackedSource
,CharSsmBackedSource
,DoubleSsmBackedSource
,FloatSsmBackedSource
,IntSsmBackedSource
,LongSsmBackedSource
,ObjectSsmBackedSource
,ShortSsmBackedSource
public interface SsmBackedColumnSource<K extends SegmentedSortedMultiSet,T extends DbArrayBase>
extends ColumnSource<T>
-
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.chunk.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Attributes.Any>, DefaultChunkSource.WithPrev<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_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource.WithPrev
ZERO_LENGTH_CHUNK_SOURCE_WITH_PREV_ARRAY
Fields inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
ZERO_LENGTH_COLUMN_SOURCE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clear
(long key) Set the SSM at the specified key to nullvoid
clearDeltas
(Index indices) Clear out any tracked deltas from recent computations.static SsmBackedColumnSource
Create an appropriate instance for the specified typevoid
ensureCapacity
(long capacity) Ensure the source has at least `capacity` capacitygetCurrentSsm
(long key) Get the current SSM at the specified key.getOrCreate
(long key) Get the ssm at the specified key, creating one if none existed.Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
fillChunk, getChunkType
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource.WithPrev
fillPrevChunk
Methods inherited from interface com.illumon.iris.db.v2.sources.ColumnSource
allowsReinterpret, cast, createPreviousTuple, createTuple, createTupleFromValues, exportElement, exportElement, exportToExternalKey, getColumnSources, getComponentType, getGroupingBuilder, getGroupingProvider, getNativeType, getPrevSource, getType, hasGrouping, hasGrouping, isImmutable, match, reinterpret, releaseCachedResources, setGroupingProvider, startTrackingPrevValues
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeFillContext, makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.DefaultChunkSource.WithPrev
getPrevChunk, getPrevChunk, getPrevChunkByFilling
Methods inherited from interface com.illumon.iris.db.v2.sources.ElementSource
get, getBoolean, getByte, getChar, getDouble, getFloat, getInt, getLong, getPrev, getPrevBoolean, getPrevByte, getPrevChar, getPrevDouble, getPrevFloat, getPrevInt, getPrevLong, getPrevShort, getShort
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.tuples.TupleExporter
exportElementReinterpreted
Methods inherited from interface com.illumon.iris.db.v2.tuples.TupleSource
createTupleFromReinterpretedValues
-
Method Details
-
create
Create an appropriate instance for the specified type- Parameters:
type
-- Returns:
-
getUnderlyingSource
ObjectArraySource<K> getUnderlyingSource() -
getCurrentSsm
Get the current SSM at the specified key. This does not permute it in any way.- Parameters:
key
- the key to get the ssm for.- Returns:
- the SSM
-
getOrCreate
Get the ssm at the specified key, creating one if none existed. This method will update the current previous tracking state of the SSM.- Parameters:
key
- the key to get the ssm for.- Returns:
- the SSM at the key, or a new one.
-
clear
void clear(long key) Set the SSM at the specified key to null- Parameters:
key
- the key to get the ssm for.
-
ensureCapacity
void ensureCapacity(long capacity) Ensure the source has at least `capacity` capacity- Parameters:
capacity
- the capacity to ensure.
-
clearDeltas
Clear out any tracked deltas from recent computations.- Parameters:
indices
- the set of indices to clear deltas for.
-