pub enum AggregateType {
Show 31 variants
Count,
CountDistinct,
Sum,
Min,
Max,
Avg,
FirstValue,
LastValue,
StdDev,
StdDevPop,
Variance,
VariancePop,
Median,
PercentileCont,
PercentileDisc,
BoolAnd,
BoolOr,
StringAgg,
ArrayAgg,
ApproxCountDistinct,
ApproxPercentile,
ApproxMedian,
Covar,
CovarPop,
Corr,
RegrSlope,
RegrIntercept,
BitAnd,
BitOr,
BitXor,
Custom,
}Expand description
Types of aggregate functions supported.
Variants§
Count
COUNT function
CountDistinct
COUNT DISTINCT function
Sum
SUM function
Min
MIN function
Max
MAX function
Avg
AVG function
FirstValue
FIRST_VALUE function
LastValue
LAST_VALUE function
StdDev
Sample standard deviation (STDDEV / STDDEV_SAMP)
StdDevPop
Population standard deviation (STDDEV_POP)
Variance
Sample variance (VARIANCE / VAR_SAMP)
VariancePop
Population variance (VAR_POP / VARIANCE_POP)
Median
Median
PercentileCont
PERCENTILE_CONT (continuous interpolation)
PercentileDisc
PERCENTILE_DISC (discrete, nearest-rank)
BoolAnd
BOOL_AND / EVERY
BoolOr
BOOL_OR / ANY
StringAgg
STRING_AGG / LISTAGG / GROUP_CONCAT
ArrayAgg
ARRAY_AGG
ApproxCountDistinct
APPROX_COUNT_DISTINCT
ApproxPercentile
APPROX_PERCENTILE_CONT
ApproxMedian
APPROX_MEDIAN
Covar
Covariance sample (COVAR_SAMP)
CovarPop
Covariance population (COVAR_POP)
Corr
Pearson correlation (CORR)
RegrSlope
Linear regression slope (REGR_SLOPE)
RegrIntercept
Linear regression intercept (REGR_INTERCEPT)
BitAnd
BIT_AND
BitOr
BIT_OR
BitXor
BIT_XOR
Custom
Custom / unrecognized aggregate function
Implementations§
Source§impl AggregateType
impl AggregateType
Sourcepub fn is_order_sensitive(&self) -> bool
pub fn is_order_sensitive(&self) -> bool
Check if this aggregate is order-sensitive. Order-sensitive aggregates require maintaining event order.
Sourcepub fn is_decomposable(&self) -> bool
pub fn is_decomposable(&self) -> bool
Check if this aggregate is decomposable (can be computed incrementally).
Decomposable aggregates can be split into partial and final steps, enabling parallel or distributed computation.
Sourcepub fn datafusion_name(&self) -> Option<&'static str>
pub fn datafusion_name(&self) -> Option<&'static str>
Returns the DataFusion function registry name for this aggregate type,
or None if not directly mappable.
Trait Implementations§
Source§impl Clone for AggregateType
impl Clone for AggregateType
Source§fn clone(&self) -> AggregateType
fn clone(&self) -> AggregateType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AggregateType
impl Debug for AggregateType
Source§impl Hash for AggregateType
impl Hash for AggregateType
Source§impl PartialEq for AggregateType
impl PartialEq for AggregateType
impl Copy for AggregateType
impl Eq for AggregateType
impl StructuralPartialEq for AggregateType
Auto Trait Implementations§
impl Freeze for AggregateType
impl RefUnwindSafe for AggregateType
impl Send for AggregateType
impl Sync for AggregateType
impl Unpin for AggregateType
impl UnsafeUnpin for AggregateType
impl UnwindSafe for AggregateType
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.