pub struct ReturnFieldArgs<'a> {
pub arg_fields: &'a [FieldRef],
pub scalar_arguments: &'a [Option<&'a ScalarValue>],
pub lambdas: &'a [bool],
}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 ScalarUDFImpl::return_field_from_args for more information
Fields§
§arg_fields: &'a [FieldRef]The data types of the arguments to the function
If argument i to the function is a lambda, it will be the field returned by the
lambda when executed with the arguments returned from ScalarUDFImpl::lambdas_parameters
For example, with array_transform([1], v -> v == 5)
this field will be [Field::new("", DataType::List(DataType::Int32), false), Field::new("", DataType::Boolean, false)]
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 my_function(column_a, 5)
this field will be [None, Some(ScalarValue::Int32(Some(5)))]
lambdas: &'a [bool]Is argument i to the function a lambda?
For example, with array_transform([1], v -> v == 5)
this field will be [false, true]
Implementations§
Source§impl<'a> ReturnFieldArgs<'a>
impl<'a> ReturnFieldArgs<'a>
Sourcepub fn to_lambda_args(&self) -> Vec<ValueOrLambdaField<'a>>
pub fn to_lambda_args(&self) -> Vec<ValueOrLambdaField<'a>>
Based on self.lambdas, encodes self.arg_fields to tagged enums indicating whether it correspond to a value or a lambda argument
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ReturnFieldArgs<'a>
impl<'a> !RefUnwindSafe for ReturnFieldArgs<'a>
impl<'a> Send for ReturnFieldArgs<'a>
impl<'a> Sync for ReturnFieldArgs<'a>
impl<'a> Unpin for ReturnFieldArgs<'a>
impl<'a> !UnwindSafe for ReturnFieldArgs<'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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more