pub struct HigherOrderReturnFieldArgs<'a> {
pub arg_fields: &'a [ValueOrLambda<FieldRef, FieldRef>],
pub scalar_arguments: &'a [Option<&'a ScalarValue>],
}Expand description
Information about arguments passed to the function
This structure contains metadata about how the function was called such as the type of the arguments, any scalar arguments and if the arguments can (ever) be null
See HigherOrderUDFImpl::return_field_from_args for more information
Fields§
§arg_fields: &'a [ValueOrLambda<FieldRef, FieldRef>]The data types of the arguments to the function
If argument i to the function is a lambda, it will be the field of the result of the
lambda if evaluated with the parameters returned from HigherOrderUDFImpl::lambda_parameters
For example, with array_transform([1], v -> v == 5)
this field will be
[
ValueOrLambda::Value(Field::new("", DataType::new_list(DataType::Int32, true), true)),
ValueOrLambda::Lambda(Field::new("", DataType::Boolean, true))
]scalar_arguments: &'a [Option<&'a ScalarValue>]Is argument i to the function a scalar (constant)?
If the argument i is not a scalar, it will be None
For example, if a function is called like array_transform([1], v -> v == 5)
this field will be [Some(ScalarValue::List(...), None]
Trait Implementations§
Source§impl<'a> Clone for HigherOrderReturnFieldArgs<'a>
impl<'a> Clone for HigherOrderReturnFieldArgs<'a>
Source§fn clone(&self) -> HigherOrderReturnFieldArgs<'a>
fn clone(&self) -> HigherOrderReturnFieldArgs<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<'a> !RefUnwindSafe for HigherOrderReturnFieldArgs<'a>
impl<'a> !UnwindSafe for HigherOrderReturnFieldArgs<'a>
impl<'a> Freeze for HigherOrderReturnFieldArgs<'a>
impl<'a> Send for HigherOrderReturnFieldArgs<'a>
impl<'a> Sync for HigherOrderReturnFieldArgs<'a>
impl<'a> Unpin for HigherOrderReturnFieldArgs<'a>
impl<'a> UnsafeUnpin for HigherOrderReturnFieldArgs<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more