Struct datafusion::physical_plan::windows::BoundedWindowAggExec
source · pub struct BoundedWindowAggExec {
pub partition_keys: Vec<Arc<dyn PhysicalExpr>>,
pub partition_search_mode: PartitionSearchMode,
/* private fields */
}
Expand description
Window execution plan
Fields§
§partition_keys: Vec<Arc<dyn PhysicalExpr>>
Partition Keys
partition_search_mode: PartitionSearchMode
Partition by search mode
Implementations§
source§impl BoundedWindowAggExec
impl BoundedWindowAggExec
sourcepub fn try_new(
window_expr: Vec<Arc<dyn WindowExpr>>,
input: Arc<dyn ExecutionPlan>,
input_schema: SchemaRef,
partition_keys: Vec<Arc<dyn PhysicalExpr>>,
partition_search_mode: PartitionSearchMode
) -> Result<Self>
pub fn try_new( window_expr: Vec<Arc<dyn WindowExpr>>, input: Arc<dyn ExecutionPlan>, input_schema: SchemaRef, partition_keys: Vec<Arc<dyn PhysicalExpr>>, partition_search_mode: PartitionSearchMode ) -> Result<Self>
Create a new execution plan for window aggregates
sourcepub fn window_expr(&self) -> &[Arc<dyn WindowExpr>]
pub fn window_expr(&self) -> &[Arc<dyn WindowExpr>]
Window expressions
sourcepub fn input(&self) -> &Arc<dyn ExecutionPlan>
pub fn input(&self) -> &Arc<dyn ExecutionPlan>
Input plan
sourcepub fn input_schema(&self) -> SchemaRef
pub fn input_schema(&self) -> SchemaRef
Get the input schema before any window functions are applied
sourcepub fn partition_by_sort_keys(&self) -> Result<Vec<PhysicalSortExpr>>
pub fn partition_by_sort_keys(&self) -> Result<Vec<PhysicalSortExpr>>
Return the output sort order of partition keys: For example OVER(PARTITION BY a, ORDER BY b) -> would give sorting of the column a
Trait Implementations§
source§impl Debug for BoundedWindowAggExec
impl Debug for BoundedWindowAggExec
source§impl ExecutionPlan for BoundedWindowAggExec
impl ExecutionPlan for BoundedWindowAggExec
source§fn output_partitioning(&self) -> Partitioning
fn output_partitioning(&self) -> Partitioning
Get the output partitioning of this plan
source§fn ordering_equivalence_properties(&self) -> OrderingEquivalenceProperties
fn ordering_equivalence_properties(&self) -> OrderingEquivalenceProperties
Get the OrderingEquivalenceProperties within the plan
source§fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>
fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>
Get a list of child execution plans that provide the input for this plan. The returned list
will be empty for leaf nodes, will contain a single value for unary nodes, or two
values for binary nodes (such as joins).
source§fn unbounded_output(&self, children: &[bool]) -> Result<bool>
fn unbounded_output(&self, children: &[bool]) -> Result<bool>
Specifies whether this plan generates an infinite stream of records.
If the plan does not support pipelining, but its input(s) are
infinite, returns an error to indicate this.
source§fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
fn output_ordering(&self) -> Option<&[PhysicalSortExpr]>
If the output of this operator within each partition is sorted,
returns
Some(keys)
with the description of how it was sorted. Read moresource§fn required_input_ordering(&self) -> Vec<Option<Vec<PhysicalSortRequirement>>>
fn required_input_ordering(&self) -> Vec<Option<Vec<PhysicalSortRequirement>>>
Specifies the ordering requirements for all of the children
For each child, it’s the local ordering requirement within
each partition rather than the global ordering Read more
source§fn required_input_distribution(&self) -> Vec<Distribution>
fn required_input_distribution(&self) -> Vec<Distribution>
Specifies the data distribution requirements for all the
children for this operator, By default it’s [Distribution::UnspecifiedDistribution] for each child,
source§fn equivalence_properties(&self) -> EquivalenceProperties
fn equivalence_properties(&self) -> EquivalenceProperties
Get the EquivalenceProperties within the plan
source§fn maintains_input_order(&self) -> Vec<bool>
fn maintains_input_order(&self) -> Vec<bool>
Returns
false
if this operator’s implementation may reorder
rows within or between partitions. Read moresource§fn with_new_children(
self: Arc<Self>,
children: Vec<Arc<dyn ExecutionPlan>>
) -> Result<Arc<dyn ExecutionPlan>>
fn with_new_children( self: Arc<Self>, children: Vec<Arc<dyn ExecutionPlan>> ) -> Result<Arc<dyn ExecutionPlan>>
Returns a new plan where all children were replaced by new plans.
source§fn execute(
&self,
partition: usize,
context: Arc<TaskContext>
) -> Result<SendableRecordBatchStream>
fn execute( &self, partition: usize, context: Arc<TaskContext> ) -> Result<SendableRecordBatchStream>
creates an iterator
source§fn metrics(&self) -> Option<MetricsSet>
fn metrics(&self) -> Option<MetricsSet>
source§fn statistics(&self) -> Statistics
fn statistics(&self) -> Statistics
Returns the global output statistics for this
ExecutionPlan
node.source§fn benefits_from_input_partitioning(&self) -> bool
fn benefits_from_input_partitioning(&self) -> bool
Returns
true
if this operator would benefit from
partitioning its input (and thus from more parallelism). For
operators that do very little work the overhead of extra
parallelism may outweigh any benefits Read moreAuto Trait Implementations§
impl !RefUnwindSafe for BoundedWindowAggExec
impl Send for BoundedWindowAggExec
impl Sync for BoundedWindowAggExec
impl Unpin for BoundedWindowAggExec
impl !UnwindSafe for BoundedWindowAggExec
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