I get the impression that a udf AggregationFunction will never retract rows, correct? Even if all records are retracted from the group.
So if I want even a scalar streaming aggregation to behave “correctly” in this sense, I’ll need a TableAggregationFunction, yeah?