pub trait DynGroupedAccumulator: 'static + Send {
// Required methods
fn accumulate_list(&mut self, groups: &ArrayRef) -> VortexResult<()>;
fn flush(&mut self) -> VortexResult<ArrayRef>;
fn finish(&mut self) -> VortexResult<ArrayRef>;
}Expand description
A trait object for type-erased grouped accumulators, used for dynamic dispatch when the aggregate function is not known at compile time.
Required Methods§
Sourcefn accumulate_list(&mut self, groups: &ArrayRef) -> VortexResult<()>
fn accumulate_list(&mut self, groups: &ArrayRef) -> VortexResult<()>
Accumulate a list of groups into the accumulator.
Sourcefn flush(&mut self) -> VortexResult<ArrayRef>
fn flush(&mut self) -> VortexResult<ArrayRef>
Finish the accumulation and return the partial aggregate results for all groups. Resets the accumulator state for the next round of accumulation.
Sourcefn finish(&mut self) -> VortexResult<ArrayRef>
fn finish(&mut self) -> VortexResult<ArrayRef>
Finish the accumulation and return the final aggregate results for all groups. Resets the accumulator state for the next round of accumulation.