pub struct QueryPlan {
pub operator: PlanOperator,
pub children: Vec<QueryPlan>,
pub estimated_cost: f64,
}Expand description
A node in the query plan tree with cost estimates.
Fields§
§operator: PlanOperator§children: Vec<QueryPlan>§estimated_cost: f64Implementations§
Source§impl QueryPlan
impl QueryPlan
Sourcepub fn new(operator: PlanOperator) -> Self
pub fn new(operator: PlanOperator) -> Self
Create a new leaf plan node.
Sourcepub fn with_children(operator: PlanOperator, children: Vec<QueryPlan>) -> Self
pub fn with_children(operator: PlanOperator, children: Vec<QueryPlan>) -> Self
Create a new plan node with children.
Sourcepub fn recompute_cost(&mut self)
pub fn recompute_cost(&mut self)
Recompute cost bottom-up.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for QueryPlan
impl RefUnwindSafe for QueryPlan
impl Send for QueryPlan
impl Sync for QueryPlan
impl Unpin for QueryPlan
impl UnsafeUnpin for QueryPlan
impl UnwindSafe for QueryPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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