pub struct WindowUDFExpr {
fun: Arc<WindowUDF>,
args: Vec<Arc<dyn PhysicalExpr>>,
name: String,
input_fields: Vec<FieldRef>,
is_reversed: bool,
ignore_nulls: bool,
}Expand description
Implements [StandardWindowFunctionExpr] for WindowUDF
Fields§
§fun: Arc<WindowUDF>§args: Vec<Arc<dyn PhysicalExpr>>§name: StringDisplay name
input_fields: Vec<FieldRef>Fields of input expressions
is_reversed: boolThis is set to true only if the user-defined window function
expression supports evaluation in reverse order, and the
evaluation order is reversed.
ignore_nulls: boolSet to true if IGNORE NULLS is defined, false otherwise.
Implementations§
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
fn as_any(&self) -> &dyn Any
Returns the aggregate expression as
Any so that it can be
downcast to a specific implementation.Source§fn field(&self) -> Result<FieldRef>
fn field(&self) -> Result<FieldRef>
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>>
fn create_evaluator(&self) -> Result<Box<dyn PartitionEvaluator>>
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: &SchemaRef) -> Option<PhysicalSortExpr>
fn get_result_ordering(&self, schema: &SchemaRef) -> 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
§fn evaluate_args(
&self,
batch: &RecordBatch,
) -> Result<Vec<Arc<dyn Array>>, DataFusionError>
fn evaluate_args( &self, batch: &RecordBatch, ) -> Result<Vec<Arc<dyn Array>>, DataFusionError>
Evaluate window function’s arguments against the input window
batch and return an [
ArrayRef]. Read moreAuto 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