pub struct BuiltInWindowExpr { /* private fields */ }
Expand description

A window expr that takes the form of a BuiltInWindowFunctionExpr.

Implementations§

source§

impl BuiltInWindowExpr

source

pub fn new( expr: Arc<dyn BuiltInWindowFunctionExpr>, partition_by: &[Arc<dyn PhysicalExpr>], order_by: &[PhysicalSortExpr], window_frame: Arc<WindowFrame> ) -> Self

create a new built-in window function expression

source

pub fn get_built_in_func_expr(&self) -> &Arc<dyn BuiltInWindowFunctionExpr>

Get BuiltInWindowFunction expr of BuiltInWindowExpr

Trait Implementations§

source§

impl Debug for BuiltInWindowExpr

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl WindowExpr for BuiltInWindowExpr

source§

fn as_any(&self) -> &dyn Any

Return a reference to Any that can be used for downcasting

source§

fn evaluate_stateful( &self, partition_batches: &PartitionBatches, window_agg_state: &mut PartitionWindowAggStates ) -> Result<()>

Evaluate the window function against the batch. This function facilitates stateful, bounded-memory implementations.

source§

fn name(&self) -> &str

Human readable name such as "MIN(c2)" or "RANK()". The default implementation returns placeholder text.
source§

fn field(&self) -> Result<Field>

The field of the final result of this window function.
source§

fn expressions(&self) -> Vec<Arc<dyn PhysicalExpr>>

Expressions that are passed to the WindowAccumulator. Functions which take a single input argument, such as sum, return a single datafusion_expr::expr::Expr, others (e.g. cov) return many.
source§

fn partition_by(&self) -> &[Arc<dyn PhysicalExpr>]

Expressions that’s from the window function’s partition by clause, empty if absent
source§

fn order_by(&self) -> &[PhysicalSortExpr]

Expressions that’s from the window function’s order by clause, empty if absent
source§

fn evaluate(&self, batch: &RecordBatch) -> Result<ArrayRef>

Evaluate the window function values against the batch
source§

fn get_window_frame(&self) -> &Arc<WindowFrame>

Get the window frame of this WindowExpr.
source§

fn get_reverse_expr(&self) -> Option<Arc<dyn WindowExpr>>

Get the reverse expression of this WindowExpr.
source§

fn uses_bounded_memory(&self) -> bool

Return a flag indicating whether this WindowExpr can run with bounded memory.
source§

fn evaluate_args(&self, batch: &RecordBatch) -> Result<Vec<ArrayRef>>

Evaluate the window function arguments against the batch and return array ref, normally the resulting Vec is a single element one.
source§

fn order_by_columns(&self, batch: &RecordBatch) -> Result<Vec<SortColumn>>

Get order by columns, empty if absent
source§

fn sort_columns(&self, batch: &RecordBatch) -> Result<Vec<SortColumn>>

Get sort columns that can be used for peer evaluation, empty if absent
source§

fn get_values_orderbys( &self, record_batch: &RecordBatch ) -> Result<(Vec<ArrayRef>, Vec<ArrayRef>)>

Get values columns (argument of Window Function) and order by columns (columns of the ORDER BY expression) used in evaluators

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V