Package com.illumon.iris.db.v2.sources
Interface WritableSource<T>
- 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>
,WritableChunkSink<Attributes.Values>
- All Known Implementing Classes:
ArrayBackedColumnSource
,BooleanArraySource
,BooleanSingleValueSource
,BooleanSparseArraySource
,ByteArraySource
,ByteSingleValueSource
,ByteSparseArraySource
,CharacterArraySource
,CharacterSingleValueSource
,CharacterSparseArraySource
,DateTimeArraySource
,DateTimeSparseArraySource
,DeltaAwareColumnSource
,DoubleArraySource
,DoubleSingleValueSource
,DoubleSparseArraySource
,FloatArraySource
,FloatSingleValueSource
,FloatSparseArraySource
,InstantArraySource
,InstantSparseArraySource
,IntegerArraySource
,IntegerSingleValueSource
,IntegerSparseArraySource
,LongArraySource
,LongSingleValueSource
,LongSparseArraySource
,NanosBasedTimeArraySource
,NanosBasedTimeSparseArraySource
,ObjectArraySource
,ObjectSingleValueSource
,ObjectSparseArraySource
,RedirectedColumnSource
,ShortArraySource
,ShortSingleValueSource
,ShortSparseArraySource
,SingleValueColumnSource
,SparseArrayColumnSource
,UnboxedLongBackedWritableSource
,ZonedDateTimeArraySource
,ZonedDateTimeSparseArraySource
public interface WritableSource<T> extends ColumnSource<T>, WritableChunkSink<Attributes.Values>
-
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>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.WritableChunkSink
WritableChunkSink.FillFromContext
-
Field Summary
Fields Modifier and Type Field Description static WritableSource[]
ZERO_LENGTH_WRITABLE_SOURCE_ARRAY
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
Fields inherited from interface com.illumon.iris.db.v2.sources.WritableChunkSink
DEFAULT_FILL_FROM_INSTANCE
-
Method Summary
Modifier and Type Method Description void
copy(ColumnSource<T> sourceColumn, long sourceKey, long destKey)
void
ensureCapacity(long capacity)
default void
fillFromChunk(WritableChunkSink.FillFromContext context, Chunk<? extends Attributes.Values> src, OrderedKeys orderedKeys)
Our default, inefficient, implementation.default void
fillFromChunkUnordered(WritableChunkSink.FillFromContext context, Chunk<? extends Attributes.Values> src, LongChunk<Attributes.KeyIndices> keys)
Fills the ChunkSink with data from the source, with data corresponding to the keys from the given key chunk.default WritableChunkSink.FillFromContext
makeFillFromContext(int chunkCapacity)
Provide a default, emptyWritableChunkSink.FillFromContext
for use with our defaultfillFromChunk(com.illumon.iris.db.v2.sources.WritableChunkSink.FillFromContext, com.illumon.iris.db.v2.sources.chunk.Chunk<? extends com.illumon.iris.db.v2.sources.chunk.Attributes.Values>, com.illumon.iris.db.v2.utils.OrderedKeys)
.default void
set(long key, byte value)
default void
set(long key, char value)
default void
set(long key, double value)
default void
set(long key, float value)
default void
set(long key, int value)
default void
set(long key, long value)
default void
set(long key, short value)
default void
set(long key, T value)
void
setNull(long key)
default void
setNull(OrderedKeys orderedKeys)
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, 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
-
Field Details
-
Method Details
-
set
-
set
default void set(long key, byte value) -
set
default void set(long key, char value) -
set
default void set(long key, double value) -
set
default void set(long key, float value) -
set
default void set(long key, int value) -
set
default void set(long key, long value) -
set
default void set(long key, short value) -
setNull
void setNull(long key) -
setNull
-
copy
-
ensureCapacity
void ensureCapacity(long capacity) -
makeFillFromContext
Provide a default, emptyWritableChunkSink.FillFromContext
for use with our defaultfillFromChunk(com.illumon.iris.db.v2.sources.WritableChunkSink.FillFromContext, com.illumon.iris.db.v2.sources.chunk.Chunk<? extends com.illumon.iris.db.v2.sources.chunk.Attributes.Values>, com.illumon.iris.db.v2.utils.OrderedKeys)
.- Specified by:
makeFillFromContext
in interfaceWritableChunkSink<T>
-
fillFromChunk
default void fillFromChunk(@NotNull WritableChunkSink.FillFromContext context, @NotNull Chunk<? extends Attributes.Values> src, @NotNull OrderedKeys orderedKeys)Our default, inefficient, implementation. Inheritors who care should provide a better implementation.- Specified by:
fillFromChunk
in interfaceWritableChunkSink<T>
- Parameters:
context
- A context containing all mutable/state related data used in writing the Chunk.src
- The source of the dataorderedKeys
orderedKeys
- AnOrderedKeys
representing the keys to be written
-
fillFromChunkUnordered
default void fillFromChunkUnordered(@NotNull WritableChunkSink.FillFromContext context, @NotNull Chunk<? extends Attributes.Values> src, @NotNull LongChunk<Attributes.KeyIndices> keys)Description copied from interface:WritableChunkSink
Fills the ChunkSink with data from the source, with data corresponding to the keys from the given key chunk.- Specified by:
fillFromChunkUnordered
in interfaceWritableChunkSink<T>
- Parameters:
context
- A context containing all mutable/state related data used in writing the Chunk.src
- The source of the dataorderedKeys
keys
- ALongChunk
representing the keys to be written
-