pub trait AggregateFunction: Send + Sync {
// Required methods
fn aggregate<'a>(
&'a mut self,
ctx: AggregateFunctionContext<'a>,
) -> AggregateFunctionResult<()>;
fn finalize(
&mut self,
) -> AggregateFunctionResult<(Vec<GroupKey>, ColumnData)>;
}