Interface RegionedPageStore<ATTR extends Any,INNER_ATTR extends ATTR,REGION_TYPE extends Page<INNER_ATTR>>
- All Superinterfaces:
ChunkSource<ATTR>
,DefaultChunkSource<ATTR>
,DefaultChunkSource.SupportsContiguousGet<ATTR>
,FillContextMaker
,GetContextMaker
,PageStore<ATTR,
,INNER_ATTR, REGION_TYPE> PagingChunkSource<ATTR>
- All Known Implementing Classes:
ColumnRegionByte.StaticPageStore
,ColumnRegionChar.StaticPageStore
,ColumnRegionDouble.StaticPageStore
,ColumnRegionFloat.StaticPageStore
,ColumnRegionInt.StaticPageStore
,ColumnRegionLong.StaticPageStore
,ColumnRegionObject.StaticPageStore
,ColumnRegionShort.StaticPageStore
,RegionedPageStore.Static
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic final class
Class to calculate and encapsulate the parameters of a RegionedPageStore.static class
RegionedPageStore.Static<ATTR extends Any,
INNER_ATTR extends ATTR, REGION_TYPE extends Page<INNER_ATTR>> A regioned page store for use when the full set of regions and their sizes are known.Nested classes/interfaces inherited from interface io.deephaven.engine.table.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContext
Nested classes/interfaces inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
DefaultChunkSource.SupportsContiguousGet<ATTR extends Any>, DefaultChunkSource.WithPrev<ATTR extends Any>
-
Field Summary
Fields inherited from interface io.deephaven.engine.table.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAY
-
Method Summary
Modifier and TypeMethodDescriptiondefault REGION_TYPE
getPageContaining
(@Nullable ChunkSource.FillContext fillContext, long rowKey) getRegion
(int regionIndex) Map from a region rowSet to its corresponding region.int
Get the number of regions.default int
getRegionIndex
(long elementIndex) Get the region index.default REGION_TYPE
lookupRegion
(long elementRowKey) Perform region lookup for an element row key.default long
mask()
This mask is applied toRowSequences
which are passed intoDefaultChunkSource.getChunk(io.deephaven.engine.table.ChunkSource.GetContext, io.deephaven.engine.rowset.RowSequence)
,ChunkSource.fillChunk(io.deephaven.engine.table.ChunkSource.FillContext, io.deephaven.chunk.WritableChunk<? super ATTR>, io.deephaven.engine.rowset.RowSequence)
, andPagingChunkSource.fillChunkAppend(FillContext, WritableChunk, RowSequence.Iterator)
.default long
default int
Methods inherited from interface io.deephaven.engine.table.ChunkSource
getChunkType
Methods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
getChunkByFilling, makeGetContext
Methods inherited from interface io.deephaven.engine.table.FillContextMaker
makeFillContext
Methods inherited from interface io.deephaven.engine.table.GetContextMaker
makeGetContext
Methods inherited from interface io.deephaven.engine.page.PageStore
doFillChunkAppend, fillChunk, fillChunkAppend, getChunk, getChunk
Methods inherited from interface io.deephaven.engine.page.PagingChunkSource
makeFillContext, maxRow
-
Method Details
-
parameters
RegionedPageStore.Parameters parameters()- Returns:
- The parameters object that describes this regioned page store
-
mask
Description copied from interface:PagingChunkSource
This mask is applied toRowSequences
which are passed intoDefaultChunkSource.getChunk(io.deephaven.engine.table.ChunkSource.GetContext, io.deephaven.engine.rowset.RowSequence)
,ChunkSource.fillChunk(io.deephaven.engine.table.ChunkSource.FillContext, io.deephaven.chunk.WritableChunk<? super ATTR>, io.deephaven.engine.rowset.RowSequence)
, andPagingChunkSource.fillChunkAppend(FillContext, WritableChunk, RowSequence.Iterator)
. This allowsPagingChunkSources
to be cached and reused even if they are properly relocated in key space.- Specified by:
mask
in interfacePagingChunkSource<ATTR extends Any>
- Returns:
- The mask for this
PagingChunkSource
, which must be a bitmask representing some number of lower order bits of a long.
-
regionMask
- Returns:
- The mask that should be applied to
RowSequence
indices when calculating their address within a region
-
regionMaskNumBits
- Returns:
- The number of bits masked by
regionMask()
-
getRegionIndex
Get the region index.- Returns:
- The region index for an element row key.
-
getRegionCount
int getRegionCount()Get the number of regions.- Returns:
- The number of regions that have been added
-
getRegion
Map from a region rowSet to its corresponding region.- Parameters:
regionIndex
- The region index- Returns:
- The region for the supplied region index
-
lookupRegion
Perform region lookup for an element row key.- Parameters:
elementRowKey
- The element row key to get the region for- Returns:
- The appropriate region
-
getPageContaining
@NotNull @FinalDefault default REGION_TYPE getPageContaining(@Nullable @Nullable ChunkSource.FillContext fillContext, long rowKey) - Specified by:
getPageContaining
in interfacePageStore<ATTR extends Any,
INNER_ATTR extends ATTR, REGION_TYPE extends Page<INNER_ATTR>> - Parameters:
fillContext
- The fill context to use; may benull
if the calling code does not have a fill contextrowKey
- The row key to get the page for- Returns:
- The page containing
rowKey
, after applyingPagingChunkSource.mask()
.
-