pub struct WindowUDFExpr {
fun: Arc<WindowUDF>,
args: Vec<Arc<dyn PhysicalExpr>>,
name: String,
input_fields: Vec<Arc<Field>>,
is_reversed: bool,
ignore_nulls: bool,
}Expand description
Implements StandardWindowFunctionExpr for WindowUDF
Fields§
§fun: Arc<WindowUDF>§args: Vec<Arc<dyn PhysicalExpr>>§name: String§input_fields: Vec<Arc<Field>>§is_reversed: bool§ignore_nulls: boolImplementations§
Trait Implementations§
Source§impl Clone for WindowUDFExpr
impl Clone for WindowUDFExpr
Source§fn clone(&self) -> WindowUDFExpr
fn clone(&self) -> WindowUDFExpr
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WindowUDFExpr
impl Debug for WindowUDFExpr
Source§impl StandardWindowFunctionExpr for WindowUDFExpr
impl StandardWindowFunctionExpr for WindowUDFExpr
Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Returns the aggregate expression as
Any so that it can be
downcast to a specific implementation.Source§fn field(&self) -> Result<Arc<Field>, DataFusionError>
fn field(&self) -> Result<Arc<Field>, DataFusionError>
The field of the final result of evaluating this window function.
Source§fn expressions(&self) -> Vec<Arc<dyn PhysicalExpr>>
fn expressions(&self) -> Vec<Arc<dyn PhysicalExpr>>
Expressions that are passed to the
PartitionEvaluator.Source§fn create_evaluator(
&self,
) -> Result<Box<dyn PartitionEvaluator>, DataFusionError>
fn create_evaluator( &self, ) -> Result<Box<dyn PartitionEvaluator>, DataFusionError>
Create a
PartitionEvaluator for evaluating the function on
a particular partition.Source§fn name(&self) -> &str
fn name(&self) -> &str
Human readable name such as
"MIN(c2)" or "RANK()". The default
implementation returns placeholder text.Source§fn reverse_expr(&self) -> Option<Arc<dyn StandardWindowFunctionExpr>>
fn reverse_expr(&self) -> Option<Arc<dyn StandardWindowFunctionExpr>>
Construct a new
StandardWindowFunctionExpr that produces
the same result as this function on a window with reverse
order. The return value of this function is used by the
DataFusion optimizer to avoid re-sorting the data when
possible. Read moreSource§fn get_result_ordering(&self, schema: &Arc<Schema>) -> Option<PhysicalSortExpr>
fn get_result_ordering(&self, schema: &Arc<Schema>) -> Option<PhysicalSortExpr>
Returns the ordering introduced by the window function, if applicable.
Most window functions don’t introduce an ordering, hence the default
value is
None. Note that this information is used to update ordering
equivalences.fn limit_effect(&self) -> LimitEffect
Source§fn evaluate_args(
&self,
batch: &RecordBatch,
) -> Result<Vec<Arc<dyn Array>>, DataFusionError>
fn evaluate_args( &self, batch: &RecordBatch, ) -> Result<Vec<Arc<dyn Array>>, DataFusionError>
Auto Trait Implementations§
impl Freeze for WindowUDFExpr
impl !RefUnwindSafe for WindowUDFExpr
impl Send for WindowUDFExpr
impl Sync for WindowUDFExpr
impl Unpin for WindowUDFExpr
impl !UnwindSafe for WindowUDFExpr
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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>
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