pub trait PhysicalPlanner: Send + Sync {
    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
        'life0: 'async_trait,
        'life1: 'async_trait,
        'life2: 'async_trait,
        Self: 'async_trait
; fn create_physical_expr(
        &self,
        expr: &Expr,
        input_dfschema: &DFSchema,
        input_schema: &Schema,
        session_state: &SessionState
    ) -> Result<Arc<dyn PhysicalExpr>>; }
Expand description

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

Required Methods

Create a physical plan from a logical plan

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

input_schema: the physical schema for evaluating expr

Implementors