// Copyright 2022 RisingLight Project Authors. Licensed under Apache-2.0.
usesuper::*;usecrate::array::ArrayImpl;usecrate::types::DataValue;modcount;modfirst;modmin_max;modrowcount;modsum;pubusecount::*;pubusefirst::*;pubusemin_max::*;pubuserowcount::*;pubusesum::*;/// `AggregationState` records the state of an aggregation
pubtraitAggregationState: 'static + Send + Sync {fnupdate(&mutself, array:&ArrayImpl)->Result<(), ExecutorError>;fnupdate_single(&mutself, value:&DataValue)->Result<(), ExecutorError>;fnoutput(&self)-> DataValue;}