Package com.illumon.iris.db.v2.dataindex
Class DataIndexProviderImpl
java.lang.Object
com.illumon.iris.db.v2.dataindex.DataIndexProviderImpl
- All Implemented Interfaces:
DataIndexProvider
@InternalUseOnly public class DataIndexProviderImpl extends Object implements DataIndexProvider
This class provides data indexes for merged tables. It is responsible for ensuring that
the provided table accounts for the relative positions of individual table locations
in the provided table of indices.
Much like the GroupingProvider
implementations,
this also attempts to defer any actual disk accesses until they are absolutely necessary.
- ImplNote:
- This is an experimental feature, it is likely to change.
-
Constructor Summary
Constructors Constructor Description DataIndexProviderImpl()
-
Method Summary
Modifier and Type Method Description void
addLocation(TableLocation<?> location, long firstKey)
Add a single location to be tracked by the dataIndexProvider.static ReadOnlyIndex
combineIndices(DbArray<? extends ReadOnlyIndex> arr)
Table
getDataIndex(com.illumon.dataobjects.ColumnDefinition<?>... columns)
Get the data index for the specified set of key columns.
-
Constructor Details
-
DataIndexProviderImpl
public DataIndexProviderImpl()
-
-
Method Details
-
addLocation
Add a single location to be tracked by the dataIndexProvider. The firstKey will be used to ensure that any retrieved dataIndexes are properly shifted into the key space for each location.- Parameters:
location
- the location to addfirstKey
- the first key in the location.
-
getDataIndex
@Nullable public Table getDataIndex(@NotNull com.illumon.dataobjects.ColumnDefinition<?>... columns)Description copied from interface:DataIndexProvider
Get the data index for the specified set of key columns.- Specified by:
getDataIndex
in interfaceDataIndexProvider
- Parameters:
columns
- the key columns- Returns:
- the data index table, or null if one was not available.
-
combineIndices
-