Interface MinMaxByNState

All Superinterfaces:
AccumulatorState
All Known Subinterfaces:
MaxByNState, MinByNState
All Known Implementing Classes:
MinMaxByNStateFactory.GroupedMinMaxByNState, MinMaxByNStateFactory.SingleMinMaxByNState

public interface MinMaxByNState extends AccumulatorState
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(ValueBlock keyBlock, int keyPosition, ValueBlock valueBlock, int valuePosition)
    Adds the value to this state.
    void
    initialize(long n)
    Initialize the state if not already initialized.
    void
    Merge with the specified state.
    void
    Writes all values to the supplied block builder as an array entry.
    void
    Write this state to the specified block builder.

    Methods inherited from interface io.trino.spi.function.AccumulatorState

    copy, getEstimatedSize
  • Method Details

    • initialize

      void initialize(long n)
      Initialize the state if not already initialized. Only the first call is processed and all subsequent calls are ignored.
    • add

      void add(ValueBlock keyBlock, int keyPosition, ValueBlock valueBlock, int valuePosition)
      Adds the value to this state.
    • merge

      void merge(MinMaxByNState other)
      Merge with the specified state. The supplied state should not be used after this method is called, because the internal details of the state may be reused in this state.
    • popAll

      void popAll(BlockBuilder out)
      Writes all values to the supplied block builder as an array entry. After this method is called, the current state will be empty.
    • serialize

      void serialize(BlockBuilder out)
      Write this state to the specified block builder.