pub struct JoinPlan {
pub relations: u64,
pub cardinality: f64,
pub cost: f64,
pub left: Option<Box<JoinPlan>>,
pub right: Option<Box<JoinPlan>>,
pub join_edge: Option<JoinEdge>,
pub kind: Option<OperatorKind>,
}Expand description
A (sub)plan for joining a set of relations. relations is the bitmask
of relation indices in the plan; cardinality and cost are the running
estimates, and left / right / join_edge are populated for
internal nodes.
Fields§
§relations: u64§cardinality: f64§cost: f64§left: Option<Box<JoinPlan>>§right: Option<Box<JoinPlan>>§join_edge: Option<JoinEdge>§kind: Option<OperatorKind>The join algorithm _emit_csg_cmp_pair picked for this node.
None for base relations and cross joins.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for JoinPlan
impl RefUnwindSafe for JoinPlan
impl Send for JoinPlan
impl Sync for JoinPlan
impl Unpin for JoinPlan
impl UnsafeUnpin for JoinPlan
impl UnwindSafe for JoinPlan
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,
impl<T> ErasedDestructor for Twhere
T: 'static,
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