pub struct ForeignWindowUDF { /* private fields */ }Expand description
This struct is used to access an UDF provided by a foreign library across a FFI boundary.
The ForeignWindowUDF is to be used by the caller of the UDF, so it has no knowledge or access to the private data. All interaction with the UDF must occur through the functions defined in FFI_WindowUDF.
Trait Implementations§
Source§impl Debug for ForeignWindowUDF
impl Debug for ForeignWindowUDF
impl Eq for ForeignWindowUDF
Source§impl Hash for ForeignWindowUDF
impl Hash for ForeignWindowUDF
Source§impl PartialEq for ForeignWindowUDF
impl PartialEq for ForeignWindowUDF
impl Send for ForeignWindowUDF
impl Sync for ForeignWindowUDF
Source§impl WindowUDFImpl for ForeignWindowUDF
impl WindowUDFImpl for ForeignWindowUDF
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 aliases(&self) -> &[String]
fn aliases(&self) -> &[String]
Returns any aliases (alternate names) for this function. Read more
Source§fn coerce_types(&self, arg_types: &[DataType]) -> Result<Vec<DataType>>
fn coerce_types(&self, arg_types: &[DataType]) -> Result<Vec<DataType>>
Coerce arguments of a function call to types that the function can evaluate. Read more
Source§fn partition_evaluator(
&self,
args: PartitionEvaluatorArgs<'_>,
) -> Result<Box<dyn PartitionEvaluator>>
fn partition_evaluator( &self, args: PartitionEvaluatorArgs<'_>, ) -> Result<Box<dyn PartitionEvaluator>>
Invoke the function, returning the
PartitionEvaluator instanceSource§fn sort_options(&self) -> Option<SortOptions>
fn sort_options(&self) -> Option<SortOptions>
Allows the window UDF to define a custom result ordering. Read more
Source§fn limit_effect(&self, _args: &[Arc<dyn PhysicalExpr>]) -> LimitEffect
fn limit_effect(&self, _args: &[Arc<dyn PhysicalExpr>]) -> LimitEffect
If not causal, returns the effect this function will have on the window
Source§fn expressions(
&self,
expr_args: ExpressionArgs<'_>,
) -> Vec<Arc<dyn PhysicalExpr>>
fn expressions( &self, expr_args: ExpressionArgs<'_>, ) -> Vec<Arc<dyn PhysicalExpr>>
Returns the expressions that are passed to the
PartitionEvaluator.Source§fn simplify(
&self,
) -> Option<Box<dyn Fn(WindowFunction, &SimplifyContext) -> Result<Expr, DataFusionError>>>
fn simplify( &self, ) -> Option<Box<dyn Fn(WindowFunction, &SimplifyContext) -> Result<Expr, DataFusionError>>>
Returns an optional hook for simplifying this user-defined window
function. Read more
Source§fn reverse_expr(&self) -> ReversedUDWF
fn reverse_expr(&self) -> ReversedUDWF
Allows customizing the behavior of the user-defined window
function when it is evaluated in reverse order.
Source§fn documentation(&self) -> Option<&Documentation>
fn documentation(&self) -> Option<&Documentation>
Returns the documentation for this Window UDF. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for ForeignWindowUDF
impl !UnwindSafe for ForeignWindowUDF
impl Freeze for ForeignWindowUDF
impl Unpin for ForeignWindowUDF
impl UnsafeUnpin for ForeignWindowUDF
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
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
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
Compare self to
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> 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>
Converts
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>
Converts
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 more