Package io.deephaven.engine.page
Interface Page<ATTR extends Any>
- All Superinterfaces:
ChunkSource<ATTR>,DefaultChunkSource<ATTR>,FillContextMaker,GetContextMaker,PagingChunkSource<ATTR>
- All Known Subinterfaces:
ChunkPage<ATTR>,ColumnRegion<ATTR>,ColumnRegionByte<ATTR>,ColumnRegionChar<ATTR>,ColumnRegionDouble<ATTR>,ColumnRegionFloat<ATTR>,ColumnRegionInt<ATTR>,ColumnRegionLong<ATTR>,ColumnRegionObject<DATA_TYPE,,ATTR> ColumnRegionObject.SelfDictionaryRegion<DATA_TYPE,,ATTR> ColumnRegionReferencing<ATTR,,REFERENCED_COLUMN_REGION> ColumnRegionShort<ATTR>,Page.WithDefaults<ATTR>,Page.WithDefaultsForRepeatingValues<ATTR>
- All Known Implementing Classes:
AppendOnlyFixedSizePageRegionByte,AppendOnlyFixedSizePageRegionChar,AppendOnlyFixedSizePageRegionDouble,AppendOnlyFixedSizePageRegionFloat,AppendOnlyFixedSizePageRegionInt,AppendOnlyFixedSizePageRegionLong,AppendOnlyFixedSizePageRegionObject,AppendOnlyFixedSizePageRegionShort,BooleanChunkPage,ByteChunkPage,CharChunkPage,ChunkHolderPageBoolean,ChunkHolderPageByte,ChunkHolderPageChar,ChunkHolderPageDouble,ChunkHolderPageFloat,ChunkHolderPageInt,ChunkHolderPageLong,ChunkHolderPageObject,ChunkHolderPageShort,ColumnChunkPageStore,ColumnRegion.Null,ColumnRegionByte.Constant,ColumnRegionByte.Null,ColumnRegionByte.StaticPageStore,ColumnRegionChar.Constant,ColumnRegionChar.Null,ColumnRegionChar.StaticPageStore,ColumnRegionChunkDictionary,ColumnRegionDouble.Constant,ColumnRegionDouble.Null,ColumnRegionDouble.StaticPageStore,ColumnRegionFloat.Constant,ColumnRegionFloat.Null,ColumnRegionFloat.StaticPageStore,ColumnRegionInt.Constant,ColumnRegionInt.Null,ColumnRegionInt.StaticPageStore,ColumnRegionLong.Constant,ColumnRegionLong.Null,ColumnRegionLong.StaticPageStore,ColumnRegionObject.Constant,ColumnRegionObject.DictionaryKeysWrapper,ColumnRegionObject.Null,ColumnRegionObject.StaticPageStore,ColumnRegionReferencing.Null,ColumnRegionReferencingImpl,ColumnRegionShort.Constant,ColumnRegionShort.Null,ColumnRegionShort.StaticPageStore,DeferredColumnRegionBase,DeferredColumnRegionChar,DeferredColumnRegionDouble,DeferredColumnRegionFloat,DeferredColumnRegionInt,DeferredColumnRegionLong,DeferredColumnRegionObject,DeferredColumnRegionReferencing,DeferredColumnRegionShort,DoubleChunkPage,FloatChunkPage,GenericColumnRegionBase,IntChunkPage,LongChunkPage,ObjectChunkPage,ParquetColumnRegionBase,ParquetColumnRegionByte,ParquetColumnRegionChar,ParquetColumnRegionDouble,ParquetColumnRegionFloat,ParquetColumnRegionInt,ParquetColumnRegionLong,ParquetColumnRegionObject,ParquetColumnRegionShort,ShortChunkPage
Pages are
PagingChunkSources that can supply values from a subset of a contiguous block of
row key space beginning at firstRowOffset() and continuing to firstRowOffset() +
PagingChunkSource.maxRow(long). Not all row keys within the range may be valid; that is, pages may be sparse.
Pages may be held within one or more PageStore instances. The PageStore is responsible for determining which
row keys in absolute space are mapped to a particular Page. Pages need only concern themselves with lower order bits
of the row keys they are asked for, after applying their PagingChunkSource.mask().
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacePage.WithDefaults<ATTR extends Any>Helper defaults for general pages.static interfacePage.WithDefaultsForRepeatingValues<ATTR extends Any>Helper defaults for pages that represent a repeating value, e.g.Nested classes/interfaces inherited from interface io.deephaven.engine.table.ChunkSource
ChunkSource.FillContext, ChunkSource.GetContextNested 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 voidadvanceToNextPage(RowSequence.Iterator rowSequenceIterator) AssumingrowSequenceIteratoris position at its first row key on this page, consume all keys on this page.default booleanadvanceToNextPage(RowSet.SearchIterator searchIterator) AssumingsearchIteratoris position at its first row key on this page, consume all keys on this page.default longadvanceToNextPageAndGetPositionDistance(RowSequence.Iterator rowSequenceIterator) AssumingrowSequenceIteratoris position at its first row key on this page, consume all keys on this page and return the number of keys consumed.default longfirstRow(long rowKey) longdefault longgetRowOffset(long rowKey) Methods inherited from interface io.deephaven.engine.table.ChunkSource
fillChunk, getChunkTypeMethods inherited from interface io.deephaven.engine.table.impl.DefaultChunkSource
getChunk, getChunk, getChunkByFilling, makeGetContextMethods inherited from interface io.deephaven.engine.table.FillContextMaker
makeFillContextMethods inherited from interface io.deephaven.engine.table.GetContextMaker
makeGetContextMethods inherited from interface io.deephaven.engine.page.PagingChunkSource
fillChunkAppend, makeFillContext, mask, maxRow
-
Method Details
-
firstRowOffset
long firstRowOffset()- Returns:
- the first row of this page, after applying the
PagingChunkSource.mask(), which refers to the first row of this page.
-
firstRow
- Parameters:
rowKey- Any row key contained on this page- Returns:
- The first row key of this page, located in the same way as
rowKey
-
getRowOffset
- Returns:
- The offset for the given row key in this page, in [0,
maxRow(rowKey)].
-
advanceToNextPage
AssumingrowSequenceIteratoris position at its first row key on this page, consume all keys on this page.- Parameters:
rowSequenceIterator- The iterator to advance
-
advanceToNextPageAndGetPositionDistance
@FinalDefault default long advanceToNextPageAndGetPositionDistance(@NotNull RowSequence.Iterator rowSequenceIterator) AssumingrowSequenceIteratoris position at its first row key on this page, consume all keys on this page and return the number of keys consumed.- Parameters:
rowSequenceIterator- The iterator to advance
-
advanceToNextPage
AssumingsearchIteratoris position at its first row key on this page, consume all keys on this page.- Parameters:
searchIterator- The iterator to advance- Returns:
- The result of
RowSet.SearchIterator.advance(long)
-