Trait datafusion::physical_planner::PhysicalPlanner

source ·
pub trait PhysicalPlanner: Send + Sync {
    // Required methods
    fn create_physical_plan<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        logical_plan: &'life1 LogicalPlan,
        session_state: &'life2 SessionState
    ) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn create_physical_expr(
        &self,
        expr: &Expr,
        input_dfschema: &DFSchema,
        session_state: &SessionState
    ) -> Result<Arc<dyn PhysicalExpr>>;
}
Expand description

Physical query planner that converts a LogicalPlan to an ExecutionPlan suitable for execution.

Required Methods§

source

fn create_physical_plan<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, logical_plan: &'life1 LogicalPlan, session_state: &'life2 SessionState ) -> Pin<Box<dyn Future<Output = Result<Arc<dyn ExecutionPlan>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Create a physical plan from a logical plan

source

fn create_physical_expr( &self, expr: &Expr, input_dfschema: &DFSchema, session_state: &SessionState ) -> Result<Arc<dyn PhysicalExpr>>

Create a physical expression from a logical expression suitable for evaluation

expr: the expression to convert

input_dfschema: the logical plan schema for evaluating expr

Implementors§