Class ParquetColumnRegionObject<T,ATTR extends Attributes.Values>
java.lang.Object
com.illumon.iris.db.v2.sources.regioned.ParquetColumnRegionBase<ATTR>
com.illumon.iris.db.v2.sources.regioned.ParquetColumnRegionObject<T,ATTR>
- All Implemented Interfaces:
ChunkSource<ATTR>
,FillContextMaker
,GetContextMaker
,Page<ATTR>
,PagingChunkSource<ATTR>
,ColumnRegion<ATTR>
,ColumnRegionObject<T,
,ATTR> Releasable
public final class ParquetColumnRegionObject<T,ATTR extends Attributes.Values>
extends ParquetColumnRegionBase<ATTR>
implements ColumnRegionObject<T,ATTR>, Page<ATTR>
ColumnRegionObject
implementation for regions that support fetching objects from a
ColumnChunkPageStore
.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
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.regioned.ColumnRegion
ColumnRegion.Null<ATTR extends Attributes.Any>
Nested classes/interfaces inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
ColumnRegionObject.DictionaryKeysWrapper, ColumnRegionObject.IntDictionaryKeysWrapper, ColumnRegionObject.Null<T,
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
Fields inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
REGION_MASK
-
Constructor Summary
ConstructorsConstructorDescriptionParquetColumnRegionObject
(ColumnChunkPageStore<ATTR> columnChunkPageStore, Supplier<ColumnRegionInt<Attributes.DictionaryKeys>> dictionaryKeysRegionSupplier, Supplier<ColumnRegionObject<T, ATTR>> dictionaryValuesRegionSupplier, ParquetFormatColumnLocation<ATTR> location) -
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[] keys) boolean
couldInclude
(Object[] keys) Check if the region could possibly include any of the keys we're searching forGet a view of this region as int dictionary keys.Get a view of this region as dictionary values.getObject
(long elementIndex) Get a single object from this region.supportsDictionaryFormat
(ReadOnlyIndex.SearchIterator keysToVisit) Check if this region can expose an alternate form as paired regions oflong
keys andDATA_TYPE
values covering all of its row keys inkeysToVisit
.Methods inherited from class com.illumon.iris.db.v2.sources.regioned.ParquetColumnRegionBase
fillChunk, fillChunkAppend, firstRowOffset, getChunk, getChunk, getChunkPageContaining, getLocation, getNativeType, length, makeFillContext, makeGetContext, maxRow, releaseCachedResources
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.illumon.iris.db.v2.sources.chunk.ChunkSource
fillChunk, getChunk, getChunk, getChunkType
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegion
firstRowOffset, getLocation, mask, specialMatch, supportsSpecialMatching
Methods inherited from interface com.illumon.iris.db.v2.sources.regioned.ColumnRegionObject
gatherDictionaryValuesRowSet, getDictionaryKeysRegion, getNativeType, getObject, skipCache
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
-
Constructor Details
-
ParquetColumnRegionObject
public ParquetColumnRegionObject(@NotNull ColumnChunkPageStore<ATTR> columnChunkPageStore, @NotNull Supplier<ColumnRegionInt<Attributes.DictionaryKeys>> dictionaryKeysRegionSupplier, @NotNull Supplier<ColumnRegionObject<T, ATTR>> dictionaryValuesRegionSupplier, @NotNull ParquetFormatColumnLocation<ATTR> location)
-
-
Method Details
-
getObject
Description copied from interface:ColumnRegionObject
Get a single object from this region.- Specified by:
getObject
in interfaceColumnRegionObject<T,
ATTR extends Attributes.Values> - Parameters:
elementIndex
- Element (object) index in the table's address space- Returns:
- The object value at the specified element (object) index
-
getDictionaryRegionType
- Specified by:
getDictionaryRegionType
in interfaceColumnRegionObject<T,
ATTR extends Attributes.Values>
-
supportsDictionaryFormat
public RegionVisitResult supportsDictionaryFormat(@NotNull ReadOnlyIndex.SearchIterator keysToVisit) Description copied from interface:ColumnRegionObject
Check if this region can expose an alternate form as paired regions oflong
keys andDATA_TYPE
values covering all of its row keys inkeysToVisit
.Both alternate regions must use the same or smaller row key space as this one. Indices fetched from the keys region must represent valid element indices in the values region. Values regions must support
ColumnRegionObject.gatherDictionaryValuesRowSet(Index.SearchIterator, Index.Iterator, Index.SequentialBuilder)
.Use
ColumnRegionObject.getDictionaryKeysRegion()
to access the region of keys andColumnRegionObject.getDictionaryValuesRegion()
to access the region of values.- Specified by:
supportsDictionaryFormat
in interfaceColumnRegionObject<T,
ATTR extends Attributes.Values> - Parameters:
keysToVisit
- Iterator positioned at the first relevant row key belonging to this region. Will be advanced to after this region iftrue
is returned. No guarantee is made iffalse
is returned.- Returns:
- A
RegionVisitResult
specifyingFAILED
if this region cannot supply a dictionary,CONTINUE
if it can andkeysToVisit
is not exhausted, andCOMPLETE
if it can andkeysToVisit
is exhausted
-
getDictionaryKeysRegionInt
Description copied from interface:ColumnRegionObject
Get a view of this region as int dictionary keys.- Specified by:
getDictionaryKeysRegionInt
in interfaceColumnRegionObject<T,
ATTR extends Attributes.Values> - Returns:
- A dictionary keys region as specified by
ColumnRegionObject.supportsDictionaryFormat(Index.SearchIterator)
-
getDictionaryValuesRegion
Description copied from interface:ColumnRegionObject
Get a view of this region as dictionary values.- Specified by:
getDictionaryValuesRegion
in interfaceColumnRegionObject<T,
ATTR extends Attributes.Values> - Returns:
- A dictionary values region as specified by
ColumnRegionObject.supportsDictionaryFormat(Index.SearchIterator)
-
binSearchMatch
public Index binSearchMatch(long firstKey, long lastKey, @NotNull SortPair sortPair, @NotNull Object[] keys) Description copied from interface:ColumnRegion
Given that this column is sorted, match the input keys using a binary search.- Specified by:
binSearchMatch
in interfaceColumnRegion<T>
- 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
Description copied from interface:ColumnRegion
Check if the region could possibly include any of the keys we're searching for- Specified by:
couldInclude
in interfaceColumnRegion<T>
- Parameters:
keys
- the keys to search for- Returns:
- true if the region possibly contains the values
-
chunkMatch
public Index chunkMatch(long regionFirstKey, @NotNull OrderedKeys keysToFilter, boolean caseInsensitive, boolean invertMatch, @NotNull Object[] keys) - Specified by:
chunkMatch
in interfaceColumnRegion<T>
- Overrides:
chunkMatch
in classParquetColumnRegionBase<ATTR extends Attributes.Values>
-