Class PartitionColumnGroupingProvider

java.lang.Object
com.illumon.iris.db.v2.dataindex.MemoizingGroupingProvider
com.illumon.iris.db.v2.dataindex.PartitionColumnGroupingProvider
All Implemented Interfaces:
GroupingProvider, KeyRangeGroupingProvider

public class PartitionColumnGroupingProvider extends MemoizingGroupingProvider implements KeyRangeGroupingProvider
A KeyRangeGroupingProvider for partitioning columns.
  • Constructor Details

  • Method Details

    • make

      public static PartitionColumnGroupingProvider make(@NotNull @NotNull String name, @NotNull @NotNull ColumnSource<?> source)
    • getGroupingBuilder

      @NotNull public @NotNull GroupingBuilder getGroupingBuilder()
      Description copied from interface: GroupingProvider
      Get a GroupingBuilder suitable for creating groups with specific properties.
      Specified by:
      getGroupingBuilder in interface GroupingProvider
      Returns:
      a GroupingBuilder
    • addSource

      public void addSource(@NotNull @NotNull ColumnLocation columnLocation, long firstKey, long lastKey)
      Description copied from interface: KeyRangeGroupingProvider
      Add a column location for consideration when constructing groupings.
      Specified by:
      addSource in interface KeyRangeGroupingProvider
      Parameters:
      columnLocation - The column location to add
      firstKey - The first key in the range for this column location
      lastKey - The last key in the range for this column location (inclusive)
    • hasGrouping

      public boolean hasGrouping()
      Description copied from interface: GroupingProvider
      Check if this provider is able to create a grouping for all included regions or not.
      Specified by:
      hasGrouping in interface GroupingProvider
      Returns:
      true if this provider can create a grouping.
    • hasGrouping

      public boolean hasGrouping(@Nullable @Nullable ReadOnlyIndex relevantIndex)
      Description copied from interface: GroupingProvider
      Check if this provider is able to create a grouping for all included regions or not.
      Specified by:
      hasGrouping in interface GroupingProvider
      Returns:
      true if this provider can create a grouping.