Interface ColumnRegion<ATTR extends Attributes.Any>
- Type Parameters:
ATTR-
- All Superinterfaces:
ChunkSource<ATTR>,FillContextMaker,GetContextMaker,Page<ATTR>,PagingChunkSource<ATTR>,Releasable
- All Known Subinterfaces:
BufferedColumnRegion<ATTR>,ColumnRegionByte<ATTR>,ColumnRegionChar<ATTR>,ColumnRegionDouble<ATTR>,ColumnRegionFloat<ATTR>,ColumnRegionInt<ATTR>,ColumnRegionLong<ATTR>,ColumnRegionObject<T,,ATTR> ColumnRegionReferencing<ATTR,,REFERENCED_COLUMN_REGION> ColumnRegionShort<ATTR>
- All Known Implementing Classes:
BufferedColumnRegionBase,BufferedColumnRegionByte,BufferedColumnRegionChar,BufferedColumnRegionDouble,BufferedColumnRegionFloat,BufferedColumnRegionInt,BufferedColumnRegionLong,BufferedColumnRegionShort,ColumnRegion.Null,ColumnRegionByte.Null,ColumnRegionChar.Null,ColumnRegionChunkDictionary,ColumnRegionDouble.Null,ColumnRegionFloat.Null,ColumnRegionInt.Null,ColumnRegionLong.Null,ColumnRegionObject.DictionaryKeysWrapper,ColumnRegionObject.IntDictionaryKeysWrapper,ColumnRegionObject.Null,ColumnRegionObjectCached,ColumnRegionObjectCodecFixed,ColumnRegionObjectCodecVariable,ColumnRegionObjectWithDictionary,ColumnRegionReferencing.Null,ColumnRegionReferencingImpl,ColumnRegionShort.Null,ColumnRegionStringSet,DeephavenColumnRegionObjectBase,DeferredColumnRegionBase,DeferredColumnRegionChar,DeferredColumnRegionDouble,DeferredColumnRegionFloat,DeferredColumnRegionInt,DeferredColumnRegionLong,DeferredColumnRegionObject,DeferredColumnRegionShort,ParquetColumnRegionBase,ParquetColumnRegionByte,ParquetColumnRegionByte.StaticPageStore,ParquetColumnRegionChar,ParquetColumnRegionChar.StaticPageStore,ParquetColumnRegionDouble,ParquetColumnRegionDouble.StaticPageStore,ParquetColumnRegionFloat,ParquetColumnRegionFloat.StaticPageStore,ParquetColumnRegionInt,ParquetColumnRegionInt.StaticPageStore,ParquetColumnRegionLong,ParquetColumnRegionLong.StaticPageStore,ParquetColumnRegionObject,ParquetColumnRegionObject.StaticPageStore,ParquetColumnRegionShort,ParquetColumnRegionShort.StaticPageStore
Implementations of this interface represent a block of data within a single column of a larger table.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classColumnRegion.Null<ATTR extends Attributes.Any>The null region.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.page.Page
Page.WithDefaults<ATTR extends Attributes.Any>, Page.WithDefaultsForRepeatingValues<ATTR extends Attributes.Any> -
Field Summary
FieldsFields inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
DEFAULT_FILL_INSTANCE, ZERO_LENGTH_CHUNK_SOURCE_ARRAY -
Method Summary
Modifier and TypeMethodDescriptionbinSearchMatch(long firstKey, long lastKey, SortPair sortPair, Object[] keys) Given that this column is sorted, match the input keys using a binary search.chunkMatch(long regionFirstKey, OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, Object[] sortedKeys) booleancouldInclude(Object[] sortedKeys) Check if the region could possibly include any of the keys we're searching fordefault longdefault longmask()This mask is applied toOrderedKeyswhich are passed intoChunkSource.getChunk(ChunkSource.GetContext, OrderedKeys)andChunkSource.fillChunk(ChunkSource.FillContext, WritableChunk, OrderedKeys).default IndexspecialMatch(OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, Object[] keys) IfsupportsSpecialMatching()istruethis method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...).default booleanCheck if this region has special matching features.Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
fillChunk, getChunk, getChunk, getChunkType, getNativeTypeMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext, makeFillContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext, makeGetContextMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRow, lengthMethods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
fillChunkAppend, maxRowMethods inherited from interface com.illumon.iris.db.v2.sources.Releasable
releaseCachedResources
-
Field Details
-
REGION_MASK
static final long REGION_MASK- See Also:
-
-
Method Details
-
getLocation
ColumnLocation getLocation() -
mask
Description copied from interface:PagingChunkSourceThis mask is applied toOrderedKeyswhich are passed intoChunkSource.getChunk(ChunkSource.GetContext, OrderedKeys)andChunkSource.fillChunk(ChunkSource.FillContext, WritableChunk, OrderedKeys). This allows thePagingChunkSources to be cached, and reused even if they are properly relocated in key space.- Specified by:
maskin interfacePagingChunkSource<ATTR extends Attributes.Any>- Returns:
- the mask for this page, which must be a bitmask representing the some number of lower order bits of a long.
-
firstRowOffset
- Specified by:
firstRowOffsetin interfacePage<ATTR extends Attributes.Any>- Returns:
- the first row of this page, after applying the
PagingChunkSource.mask(), which refers to the first row of this page.
-
supportsSpecialMatching
default boolean supportsSpecialMatching()Check if this region has special matching features.- Returns:
- true if this has special matching features
-
specialMatch
default Index specialMatch(@NotNull OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) IfsupportsSpecialMatching()istruethis method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...).- Parameters:
keysToFilter- the keys being filteredregionFirstKey- the first key within this regioncaseInsensitive- if the match is case insensitiveinvertMatch- if the match should be invertedkeys- the keys to search for, in no particular order- Returns:
- an index of matched rows
-
binSearchMatch
Index binSearchMatch(long firstKey, long lastKey, @NotNull SortPair sortPair, @NotNull Object[] keys) Given that this column is sorted, match the input keys using a binary search.- Parameters:
firstKey- The first key to searchlastKey- The last key to searchsortPair- the sorting definitionkeys- the keys to search for, in no particular order
-
couldInclude
Check if the region could possibly include any of the keys we're searching for- Parameters:
sortedKeys- the keys to search for- Returns:
- true if the region possibly contains the values
-
chunkMatch
Index chunkMatch(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] sortedKeys)
-