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 Details

    • DataIndexProviderImpl

      public DataIndexProviderImpl()
  • Method Details

    • addLocation

      public void addLocation(TableLocation location, long firstKey)
      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 add
      firstKey - the first key in the location.
    • getDataIndex

      @Nullable public Table getDataIndex(@NotNull String... columns)
      Description copied from interface: DataIndexProvider
      Get the data index for the specified set of key columns.
      Specified by:
      getDataIndex in interface DataIndexProvider
      Parameters:
      columns - the key columns
      Returns:
      the data index table, or null if one was not available.
    • combineIndices

      public static ReadOnlyIndex combineIndices(DbArray<? extends ReadOnlyIndex> arr)