pub struct BuiltInWindowExpr { /* private fields */ }
Expand description
A window expr that takes the form of a built in window function
Implementations§
source§impl BuiltInWindowExpr
impl BuiltInWindowExpr
sourcepub fn new(
expr: Arc<dyn BuiltInWindowFunctionExpr>,
partition_by: &[Arc<dyn PhysicalExpr>],
order_by: &[PhysicalSortExpr],
window_frame: Arc<WindowFrame>
) -> Self
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
sourcepub fn get_built_in_func_expr(&self) -> &Arc<dyn BuiltInWindowFunctionExpr>
pub fn get_built_in_func_expr(&self) -> &Arc<dyn BuiltInWindowFunctionExpr>
Get BuiltInWindowFunction expr of BuiltInWindowExpr
Trait Implementations§
source§impl Debug for BuiltInWindowExpr
impl Debug for BuiltInWindowExpr
source§impl WindowExpr for BuiltInWindowExpr
impl WindowExpr for BuiltInWindowExpr
source§fn evaluate_stateful(
&self,
partition_batches: &PartitionBatches,
window_agg_state: &mut PartitionWindowAggStates
) -> Result<()>
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
fn name(&self) -> &str
Human readable name such as
"MIN(c2)"
or "RANK()"
. The default
implementation returns placeholder text.source§fn expressions(&self) -> Vec<Arc<dyn PhysicalExpr>>
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>]
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]
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>
fn evaluate(&self, batch: &RecordBatch) -> Result<ArrayRef>
Evaluate the window function values against the batch
source§fn get_window_frame(&self) -> &Arc<WindowFrame>
fn get_window_frame(&self) -> &Arc<WindowFrame>
Get the window frame of this WindowExpr.
source§fn get_reverse_expr(&self) -> Option<Arc<dyn WindowExpr>>
fn get_reverse_expr(&self) -> Option<Arc<dyn WindowExpr>>
Get the reverse expression of this WindowExpr.
source§fn uses_bounded_memory(&self) -> bool
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>>
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>>
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>>
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>)>
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