Interface Page.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any>
- All Superinterfaces:
ChunkSource<ATTR>
,DefaultChunkSource<ATTR>
,FillContextMaker
,GetContextMaker
,Page<ATTR>
,PagingChunkSource<ATTR>
- All Known Implementing Classes:
ColumnRegion.Null
,ColumnRegionByte.Null
,ColumnRegionChar.Null
,ColumnRegionDouble.Null
,ColumnRegionFloat.Null
,ColumnRegionInt.Null
,ColumnRegionLong.Null
,ColumnRegionObject.Null
,ColumnRegionReferencing.Null
,ColumnRegionShort.Null
- Enclosing interface:
- Page<ATTR extends Attributes.Any>
public static interface Page.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any> extends Page<ATTR>, DefaultChunkSource<ATTR>
This has helper defaults for columns that just represent a repeating value (such as null or partition columns).
-
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.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_ARRAY
-
Method Summary
Modifier and Type Method Description default void
fillChunk(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, OrderedKeys orderedKeys)
Populates the given destination chunk with data corresponding to the keys from the givenOrderedKeys
.void
fillChunkAppend(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, int length)
Appends the values repeating valuelength
times todestination
.default void
fillChunkAppend(ChunkSource.FillContext context, WritableChunk<? super ATTR> destination, OrderedKeys.Iterator orderedKeysIterator)
Similar toChunkSource.fillChunk(FillContext, WritableChunk, OrderedKeys)
, except that the values from the ChunkSource are appended todestination
, rather than placed at the beginning.default long
lastRow(long row)
default long
length()
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
getChunkType, getNativeType
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.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, firstRowOffset, getRowOffset
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
mask, maxRow
-
Method Details
-
length
- Specified by:
length
in interfacePage<ATTR extends Attributes.Any>
- Returns:
- the length of this page.
-
lastRow
- Specified by:
lastRow
in interfacePage<ATTR extends Attributes.Any>
- Parameters:
row
- Any row contained on this page.- Returns:
- the last row of this page, located in the same way as row.
-
fillChunkAppend
@FinalDefault default void fillChunkAppend(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, @NotNull OrderedKeys.Iterator orderedKeysIterator)Description copied from interface:PagingChunkSource
Similar to
ChunkSource.fillChunk(FillContext, WritableChunk, OrderedKeys)
, except that the values from the ChunkSource are appended todestination
, rather than placed at the beginning.The values to fill into
destination
are specified byorderedKeysIterator
, whoseOrderedKeys.firstKey()
must exist, and must be represented by thisPagingChunkSource
(modulo {#link @mask}), otherwise results are undefined.No more than the elements in
orderedKeysIterator
, which are on the same page asOrderedKeys.firstKey()
, have their values appended todestination
, and consumed fromorderedKeysIterator
. Keys are on the same page when the bits outside ofPagingChunkSource.mask()
are identical.- Specified by:
fillChunkAppend
in interfacePagingChunkSource<ATTR extends Attributes.Any>
- Parameters:
context
- A context containing all mutable/state related data used in retrieving the Chunk. In particular, the Context may be used to provide a Chunk data pooldestination
- The chunk to append the results to.orderedKeysIterator
- The iterator to the ordered keys, which contain at least the keys to extract from thisChunkSource
. The keys to extract will be at the beginning of iteration order.
-
fillChunk
@FinalDefault default void fillChunk(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, @NotNull OrderedKeys orderedKeys)Description copied from interface:ChunkSource
Populates the given destination chunk with data corresponding to the keys from the givenOrderedKeys
.- Specified by:
fillChunk
in interfaceChunkSource<ATTR extends Attributes.Any>
- Parameters:
context
- A context containing all mutable/state related data used in retrieving the Chunk.destination
- The chunk to be populated according toorderedKeys
. No assumptions shall be made about the size of the chunk shall be made. The chunk will be populated from position [0,orderedKeys.size()).orderedKeys
- AnOrderedKeys
representing the keys to be fetched
-
fillChunkAppend
void fillChunkAppend(@NotNull ChunkSource.FillContext context, @NotNull WritableChunk<? super ATTR> destination, int length)Appends the values repeating valuelength
times todestination
.
-