Trait datafusion::execution::FunctionRegistry
source · pub trait FunctionRegistry {
// Required methods
fn udfs(&self) -> HashSet<String>;
fn udf(&self, name: &str) -> Result<Arc<ScalarUDF>, DataFusionError>;
fn udaf(&self, name: &str) -> Result<Arc<AggregateUDF>, DataFusionError>;
fn udwf(&self, name: &str) -> Result<Arc<WindowUDF>, DataFusionError>;
// Provided methods
fn register_udf(
&mut self,
_udf: Arc<ScalarUDF>
) -> Result<Option<Arc<ScalarUDF>>, DataFusionError> { ... }
fn register_udaf(
&mut self,
_udaf: Arc<AggregateUDF>
) -> Result<Option<Arc<AggregateUDF>>, DataFusionError> { ... }
fn register_udwf(
&mut self,
_udaf: Arc<WindowUDF>
) -> Result<Option<Arc<WindowUDF>>, DataFusionError> { ... }
}
Expand description
A registry knows how to build logical expressions out of user-defined function’ names
Required Methods§
sourcefn udf(&self, name: &str) -> Result<Arc<ScalarUDF>, DataFusionError>
fn udf(&self, name: &str) -> Result<Arc<ScalarUDF>, DataFusionError>
Returns a reference to the user defined scalar function (udf) named
name
.
sourcefn udaf(&self, name: &str) -> Result<Arc<AggregateUDF>, DataFusionError>
fn udaf(&self, name: &str) -> Result<Arc<AggregateUDF>, DataFusionError>
Returns a reference to the user defined aggregate function (udaf) named
name
.
Provided Methods§
sourcefn register_udf(
&mut self,
_udf: Arc<ScalarUDF>
) -> Result<Option<Arc<ScalarUDF>>, DataFusionError>
fn register_udf( &mut self, _udf: Arc<ScalarUDF> ) -> Result<Option<Arc<ScalarUDF>>, DataFusionError>
Registers a new ScalarUDF
, returning any previously registered
implementation.
Returns an error (the default) if the function can not be registered, for example if the registry is read only.
sourcefn register_udaf(
&mut self,
_udaf: Arc<AggregateUDF>
) -> Result<Option<Arc<AggregateUDF>>, DataFusionError>
fn register_udaf( &mut self, _udaf: Arc<AggregateUDF> ) -> Result<Option<Arc<AggregateUDF>>, DataFusionError>
Registers a new AggregateUDF
, returning any previously registered
implementation.
Returns an error (the default) if the function can not be registered, for example if the registry is read only.
sourcefn register_udwf(
&mut self,
_udaf: Arc<WindowUDF>
) -> Result<Option<Arc<WindowUDF>>, DataFusionError>
fn register_udwf( &mut self, _udaf: Arc<WindowUDF> ) -> Result<Option<Arc<WindowUDF>>, DataFusionError>
Registers a new WindowUDF
, returning any previously registered
implementation.
Returns an error (the default) if the function can not be registered, for example if the registry is read only.