[][src]Trait datafusion::physical_plan::ExecutionPlan

pub trait ExecutionPlan: Debug + Send + Sync {
    fn as_any(&self) -> &dyn Any;
fn schema(&self) -> SchemaRef;
fn output_partitioning(&self) -> Partitioning;
fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>;
fn with_new_children(
        &self,
        children: Vec<Arc<dyn ExecutionPlan>>
    ) -> Result<Arc<dyn ExecutionPlan>>;
#[must_use] fn execute<'life0, 'async_trait>(
        &'life0 self,
        partition: usize
    ) -> Pin<Box<dyn Future<Output = Result<SendableRecordBatchStream>> + Send + 'async_trait>>
    where
        'life0: 'async_trait,
        Self: 'async_trait
; fn required_child_distribution(&self) -> Distribution { ... } }

Partition-aware execution plan for a relation

Required methods

fn as_any(&self) -> &dyn Any[src]

Returns the execution plan as Any so that it can be downcast to a specific implementation.

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

fn output_partitioning(&self) -> Partitioning[src]

Specifies the output partitioning scheme of this plan

fn children(&self) -> Vec<Arc<dyn ExecutionPlan>>[src]

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).

fn with_new_children(
    &self,
    children: Vec<Arc<dyn ExecutionPlan>>
) -> Result<Arc<dyn ExecutionPlan>>
[src]

Returns a new plan where all children were replaced by new plans. The size of children must be equal to the size of ExecutionPlan::children().

#[must_use]fn execute<'life0, 'async_trait>(
    &'life0 self,
    partition: usize
) -> Pin<Box<dyn Future<Output = Result<SendableRecordBatchStream>> + Send + 'async_trait>> where
    'life0: 'async_trait,
    Self: 'async_trait, 
[src]

creates an iterator

Loading content...

Provided methods

fn required_child_distribution(&self) -> Distribution[src]

Specifies the data distribution requirements of all the children for this operator

Loading content...

Implementors

impl ExecutionPlan for CoalesceBatchesExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for CsvExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for EmptyExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for ExplainExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for FilterExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for HashAggregateExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for HashJoinExec[src]

impl ExecutionPlan for GlobalLimitExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for LocalLimitExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

impl ExecutionPlan for MemoryExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for MergeExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for ParquetExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for ProjectionExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

impl ExecutionPlan for RepartitionExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn schema(&self) -> SchemaRef[src]

Get the schema for this execution plan

impl ExecutionPlan for SortExec[src]

fn as_any(&self) -> &dyn Any[src]

Return a reference to Any that can be used for downcasting

fn output_partitioning(&self) -> Partitioning[src]

Get the output partitioning of this plan

Loading content...