Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
DefaultPhysicalPlanner in datafusion::physical_planner - Rust
[go: Go Back, main page]

pub struct DefaultPhysicalPlanner { /* private fields */ }
Expand description

Default single node physical query planner that converts a LogicalPlan to an ExecutionPlan suitable for execution.

This planner will first flatten the LogicalPlan tree via a depth first approach, which allows it to identify the leaves of the tree.

Tasks are spawned from these leaves and traverse back up the tree towards the root, converting each LogicalPlan node it reaches into their equivalent ExecutionPlan node. When these tasks reach a common node, they will terminate until the last task reaches the node which will then continue building up the tree.

Up to planning_concurrency tasks are buffered at once to execute concurrently.

Implementations§

source§

impl DefaultPhysicalPlanner

source

pub fn with_extension_planners( extension_planners: Vec<Arc<dyn ExtensionPlanner + Send + Sync>>, ) -> Self

Create a physical planner that uses extension_planners to plan user-defined logical nodes LogicalPlan::Extension. The planner uses the first ExtensionPlanner to return a non-None plan.

Trait Implementations§

source§

impl Default for DefaultPhysicalPlanner

source§

fn default() -> DefaultPhysicalPlanner

Returns the “default value” for a type. Read more
source§

impl PhysicalPlanner for DefaultPhysicalPlanner

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

e: the expression to convert

input_dfschema: the logical plan schema for evaluating e

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V