Trait datafusion::physical_plan::planner::ExtensionPlanner [−][src]
pub trait ExtensionPlanner { fn plan_extension(
&self,
planner: &dyn PhysicalPlanner,
node: &dyn UserDefinedLogicalNode,
logical_inputs: &[&LogicalPlan],
physical_inputs: &[Arc<dyn ExecutionPlan>],
ctx_state: &ExecutionContextState
) -> Result<Option<Arc<dyn ExecutionPlan>>>; }
Expand description
This trait exposes the ability to plan an ExecutionPlan
out of a LogicalPlan
.
Required methods
fn plan_extension(
&self,
planner: &dyn PhysicalPlanner,
node: &dyn UserDefinedLogicalNode,
logical_inputs: &[&LogicalPlan],
physical_inputs: &[Arc<dyn ExecutionPlan>],
ctx_state: &ExecutionContextState
) -> Result<Option<Arc<dyn ExecutionPlan>>>
fn plan_extension(
&self,
planner: &dyn PhysicalPlanner,
node: &dyn UserDefinedLogicalNode,
logical_inputs: &[&LogicalPlan],
physical_inputs: &[Arc<dyn ExecutionPlan>],
ctx_state: &ExecutionContextState
) -> Result<Option<Arc<dyn ExecutionPlan>>>
Create a physical plan for a UserDefinedLogicalNode
.
input_dfschema
: the logical plan schema for the inputs to this node
Returns an error when the planner knows how to plan the concrete
implementation of node
but errors while doing so.
Returns None
when the planner does not know how to plan the
node
and wants to delegate the planning to another
ExtensionPlanner
.