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 class
ColumnRegion.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) boolean
couldInclude
(Object[] sortedKeys) Check if the region could possibly include any of the keys we're searching fordefault long
default long
mask()
This mask is applied toOrderedKeys
which are passed intoChunkSource.getChunk(ChunkSource.GetContext, OrderedKeys)
andChunkSource.fillChunk(ChunkSource.FillContext, WritableChunk, OrderedKeys)
.default Index
specialMatch
(OrderedKeys keysToFilter, long regionFirstKey, boolean caseInsensitive, boolean invertMatch, Object[] keys) IfsupportsSpecialMatching()
istrue
this method will perform matching in lieu of the standardRegionedColumnSourceBase.match(boolean, boolean, boolean, ReadOnlyIndex, Object...)
.default boolean
Check if this region has special matching features.Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
fillChunk, getChunk, getChunk, getChunkType, getNativeType
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.FillContextMaker
makeFillContext, makeFillContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.GetContextMaker
makeGetContext, makeGetContext
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.Page
advanceToNextPage, advanceToNextPage, advanceToNextPageAndGetPositionDistance, firstRow, getRowOffset, lastRow, length
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.page.PagingChunkSource
fillChunkAppend, maxRow
Methods 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:PagingChunkSource
This mask is applied toOrderedKeys
which are passed intoChunkSource.getChunk(ChunkSource.GetContext, OrderedKeys)
andChunkSource.fillChunk(ChunkSource.FillContext, WritableChunk, OrderedKeys)
. This allows thePagingChunkSource
s to be cached, and reused even if they are properly relocated in key space.- Specified by:
mask
in 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:
firstRowOffset
in 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()
istrue
this 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)
-