Class TimeSeriesGroupingAggregatorEvaluationContext

java.lang.Object
org.elasticsearch.compute.aggregation.GroupingAggregatorEvaluationContext
org.elasticsearch.compute.aggregation.TimeSeriesGroupingAggregatorEvaluationContext
All Implemented Interfaces:
Closeable, AutoCloseable, Releasable

public abstract class TimeSeriesGroupingAggregatorEvaluationContext extends GroupingAggregatorEvaluationContext
  • Constructor Details

    • TimeSeriesGroupingAggregatorEvaluationContext

      public TimeSeriesGroupingAggregatorEvaluationContext(DriverContext driverContext)
  • Method Details

    • allGroupIds

      public IntVector allGroupIds()
      Returns the full set of group IDs when output filtering is active. Window aggregations use this to build intermediate states for non-output buckets.
    • setAllGroupIds

      public void setAllGroupIds(IntVector allGroupIds)
    • rangeStartInMillis

      public abstract long rangeStartInMillis(int groupId)
      Returns the inclusive start of the time range, in milliseconds, for the specified group ID.
    • rangeEndInMillis

      public abstract long rangeEndInMillis(int groupId)
      Returns the exclusive end of the time range, in milliseconds, for the specified group ID.
    • forEachGroupInRange

      public abstract void forEachGroupInRange(int startingGroupId, long rangeStartMillis, long rangeEndMillis, IntConsumer action)
      Invokes action for each group ID, other than startingGroupId itself, whose bucket falls within [rangeStartMillis, rangeEndMillis).
    • previousGroupId

      public abstract int previousGroupId(int currentGroupId)
    • nextGroupId

      public abstract int nextGroupId(int currentGroupId)
    • computeAdjacentGroupIds

      public abstract void computeAdjacentGroupIds()
      Computes and caches the adjacent group IDs. They will be used in #previousGroupId and #nextGroupId.