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

  • 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 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 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)