Class GroupMaker

java.lang.Object
org.apache.cassandra.db.aggregation.GroupMaker

public abstract class GroupMaker extends Object
A GroupMaker can be used to determine if some sorted rows belongs to the same group or not.
  • Field Details

    • GROUP_EVERYTHING

      public static final GroupMaker GROUP_EVERYTHING
      GroupMaker that groups all the rows together.
  • Constructor Details

    • GroupMaker

      public GroupMaker()
  • Method Details

    • newPkPrefixGroupMaker

      public static GroupMaker newPkPrefixGroupMaker(ClusteringComparator comparator, int clusteringPrefixSize, GroupingState state)
    • newPkPrefixGroupMaker

      public static GroupMaker newPkPrefixGroupMaker(ClusteringComparator comparator, int clusteringPrefixSize)
    • newSelectorGroupMaker

      public static GroupMaker newSelectorGroupMaker(ClusteringComparator comparator, int clusteringPrefixSize, Selector selector, List<ColumnMetadata> columns, GroupingState state)
    • newSelectorGroupMaker

      public static GroupMaker newSelectorGroupMaker(ClusteringComparator comparator, int clusteringPrefixSize, Selector selector, List<ColumnMetadata> columns)
    • isNewGroup

      public abstract boolean isNewGroup(DecoratedKey partitionKey, Clustering<?> clustering)
      Checks if a given row belongs to the same group that the previous row or not.
      Parameters:
      partitionKey - the partition key.
      clustering - the row clustering key
      Returns:
      true if the row belongs to the same group that the previous one, false otherwise.
    • returnAtLeastOneRow

      public boolean returnAtLeastOneRow()
      Specify if at least one row must be returned. If the selection is performing some aggregations on all the rows, one row should be returned even if no records were processed.
      Returns:
      true if at least one row must be returned, false otherwise.