pub trait DynGroupedAccumulator: 'static + Send {
// Required methods
fn accumulate_list(
&mut self,
groups: &ArrayRef,
ctx: &mut ExecutionCtx,
) -> 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,
ctx: &mut ExecutionCtx,
) -> VortexResult<()>
fn accumulate_list( &mut self, groups: &ArrayRef, ctx: &mut ExecutionCtx, ) -> 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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".