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: Option<Arc<WindowFrame>>
) -> Self
pub fn new(
expr: Arc<dyn BuiltInWindowFunctionExpr>,
partition_by: &[Arc<dyn PhysicalExpr>],
order_by: &[PhysicalSortExpr],
window_frame: Option<Arc<WindowFrame>>
) -> Self
create a new built-in window function expression
Trait Implementations§
source§impl Debug for BuiltInWindowExpr
impl Debug for BuiltInWindowExpr
source§impl WindowExpr for BuiltInWindowExpr
impl WindowExpr for BuiltInWindowExpr
source§fn name(&self) -> &str
fn name(&self) -> &str
Human readable name such as
"MIN(c2)" or "RANK()". The default
implementation returns placeholder text. Read moresource§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. Read moresource§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 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. Read more
source§fn evaluate_partition_points(
&self,
num_rows: usize,
partition_columns: &[SortColumn]
) -> Result<Vec<Range<usize>>>
fn evaluate_partition_points(
&self,
num_rows: usize,
partition_columns: &[SortColumn]
) -> Result<Vec<Range<usize>>>
evaluate the partition points given the sort columns; if the sort columns are
empty then the result will be a single element vec of the whole column rows. Read more
source§fn partition_columns(&self, batch: &RecordBatch) -> Result<Vec<SortColumn>>
fn partition_columns(&self, batch: &RecordBatch) -> Result<Vec<SortColumn>>
get partition columns that can be used for partitioning, empty if absent
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