pub struct ArrayFirst { /* private fields */ }Implementations§
Source§impl ArrayFirst
impl ArrayFirst
Trait Implementations§
Source§impl Debug for ArrayFirst
impl Debug for ArrayFirst
Source§impl Default for ArrayFirst
impl Default for ArrayFirst
impl Eq for ArrayFirst
Source§impl Hash for ArrayFirst
impl Hash for ArrayFirst
Source§impl HigherOrderUDFImpl for ArrayFirst
impl HigherOrderUDFImpl for ArrayFirst
Source§fn aliases(&self) -> &[String]
fn aliases(&self) -> &[String]
Returns any aliases (alternate names) for this function. Read more
Source§fn signature(&self) -> &HigherOrderSignature
fn signature(&self) -> &HigherOrderSignature
Returns a
HigherOrderSignature describing the argument types for which this
function has an implementation, and the function’s Volatility. Read moreSource§fn coerce_value_types(&self, arg_types: &[DataType]) -> Result<Vec<DataType>>
fn coerce_value_types(&self, arg_types: &[DataType]) -> Result<Vec<DataType>>
Coerce value arguments of a function call to types that the function can evaluate.
Note that if you need to coerce values based on the output type of lambdas, you
must use HigherOrderUDFImpl::coerce_values_for_lambdas, as this function is used before
the output type of lambdas are known Read more
Source§fn lambda_parameters(
&self,
_step: usize,
fields: &[ValueOrLambda<FieldRef, Option<FieldRef>>],
) -> Result<LambdaParametersProgress>
fn lambda_parameters( &self, _step: usize, fields: &[ValueOrLambda<FieldRef, Option<FieldRef>>], ) -> Result<LambdaParametersProgress>
Return the field of all the parameters supported by the lambdas in
fields.
If a lambda support multiple parameters, all should be returned, regardless of
whether they are used or not on a particular invocation Read moreSource§fn return_field_from_args(
&self,
args: HigherOrderReturnFieldArgs<'_>,
) -> Result<FieldRef>
fn return_field_from_args( &self, args: HigherOrderReturnFieldArgs<'_>, ) -> Result<FieldRef>
What type will be returned by this function, given the arguments? Read more
Source§fn invoke_with_args(
&self,
args: HigherOrderFunctionArgs,
) -> Result<ColumnarValue>
fn invoke_with_args( &self, args: HigherOrderFunctionArgs, ) -> Result<ColumnarValue>
Invoke the function returning the appropriate result. Read more
Source§fn documentation(&self) -> Option<&Documentation>
fn documentation(&self) -> Option<&Documentation>
Returns the documentation for this function. Read more
Source§fn schema_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
fn schema_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
Returns the name of the column this expression would create Read more
Source§fn coerce_values_for_lambdas(
&self,
_fields: &[ValueOrLambda<DataType, DataType>],
) -> Result<Option<Vec<DataType>>, DataFusionError>
fn coerce_values_for_lambdas( &self, _fields: &[ValueOrLambda<DataType, DataType>], ) -> Result<Option<Vec<DataType>>, DataFusionError>
Coerce value arguments of a function call to types that the function can evaluate also taking into
account the output type of it’s lambdas. This differs from HigherOrderUDFImpl::coerce_value_types
that only has access to the type of it’s value arguments because it’s called before the output type
of lambdas are known. Read more
Source§fn clear_null_values(&self) -> bool
fn clear_null_values(&self) -> bool
Whether List or LargeList arguments should have it’s non-empty null
sublists cleaned with remove_list_null_values before invoking this function Read more
Source§fn short_circuits(&self) -> bool
fn short_circuits(&self) -> bool
Returns true if some of this
exprs subexpressions may not be evaluated
and thus any side effects (like divide by zero) may not be encountered. Read moreSource§fn conditional_arguments<'a>(
&self,
args: &'a [Expr],
) -> Option<(Vec<&'a Expr>, Vec<&'a Expr>)>
fn conditional_arguments<'a>( &self, args: &'a [Expr], ) -> Option<(Vec<&'a Expr>, Vec<&'a Expr>)>
Determines which of the arguments passed to this higher-order function
are evaluated eagerly and which may be evaluated lazily. Note that this
does not applies to the arguments that lambda functions pass to it’s
body expression Read more
Source§impl PartialEq for ArrayFirst
impl PartialEq for ArrayFirst
impl StructuralPartialEq for ArrayFirst
Auto Trait Implementations§
impl Freeze for ArrayFirst
impl RefUnwindSafe for ArrayFirst
impl Send for ArrayFirst
impl Sync for ArrayFirst
impl Unpin for ArrayFirst
impl UnsafeUnpin for ArrayFirst
impl UnwindSafe for ArrayFirst
Blanket Implementations§
impl<T> Allocation for T
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