Struct datafusion::prelude::SimpleAggregateUDF
source · pub struct SimpleAggregateUDF { /* private fields */ }
Expand description
Implements AggregateUDFImpl
for functions that have a single signature and
return type.
Implementations§
source§impl SimpleAggregateUDF
impl SimpleAggregateUDF
sourcepub fn new(
name: impl Into<String>,
input_type: Vec<DataType>,
return_type: DataType,
volatility: Volatility,
accumulator: Arc<dyn Fn(&DataType) -> Result<Box<dyn Accumulator>, DataFusionError> + Send + Sync>,
state_type: Vec<DataType>
) -> SimpleAggregateUDF
pub fn new( name: impl Into<String>, input_type: Vec<DataType>, return_type: DataType, volatility: Volatility, accumulator: Arc<dyn Fn(&DataType) -> Result<Box<dyn Accumulator>, DataFusionError> + Send + Sync>, state_type: Vec<DataType> ) -> SimpleAggregateUDF
Create a new AggregateUDFImpl
from a name, input types, return type, state type and
implementation. Implementing AggregateUDFImpl
allows more flexibility
pub fn new_with_signature( name: impl Into<String>, signature: Signature, return_type: DataType, accumulator: Arc<dyn Fn(&DataType) -> Result<Box<dyn Accumulator>, DataFusionError> + Send + Sync>, state_type: Vec<DataType> ) -> SimpleAggregateUDF
Trait Implementations§
source§impl AggregateUDFImpl for SimpleAggregateUDF
impl AggregateUDFImpl for SimpleAggregateUDF
source§fn signature(&self) -> &Signature
fn signature(&self) -> &Signature
Returns the function’s
Signature
for information about what input
types are accepted and the function’s Volatility.source§fn return_type(
&self,
_arg_types: &[DataType]
) -> Result<DataType, DataFusionError>
fn return_type( &self, _arg_types: &[DataType] ) -> Result<DataType, DataFusionError>
What
DataType
will be returned by this function, given the types of
the argumentssource§fn accumulator(
&self,
arg: &DataType
) -> Result<Box<dyn Accumulator>, DataFusionError>
fn accumulator( &self, arg: &DataType ) -> Result<Box<dyn Accumulator>, DataFusionError>
Return a new
Accumulator
that aggregates values for a specific
group during query execution.source§fn state_type(
&self,
_return_type: &DataType
) -> Result<Vec<DataType>, DataFusionError>
fn state_type( &self, _return_type: &DataType ) -> Result<Vec<DataType>, DataFusionError>
Return the type used to serialize the
Accumulator
’s intermediate state.
See Accumulator::state()
for more detailsAuto Trait Implementations§
impl !RefUnwindSafe for SimpleAggregateUDF
impl Send for SimpleAggregateUDF
impl Sync for SimpleAggregateUDF
impl Unpin for SimpleAggregateUDF
impl !UnwindSafe for SimpleAggregateUDF
Blanket Implementations§
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
Mutably borrows from an owned value. Read more