pub struct Join<P1: Implementable, P2: Implementable> {
pub variables: Vec<u32>,
pub left_plan: Box<P1>,
pub right_plan: Box<P2>,
}
Expand description
A plan stage joining two source relations on the specified variables. Throws if any of the join variables isn’t bound by both sources.
Fields§
§variables: Vec<u32>
TODO
left_plan: Box<P1>
Plan for the left input.
right_plan: Box<P2>
Plan for the right input.
Trait Implementations§
Source§impl<P1: Clone + Implementable, P2: Clone + Implementable> Clone for Join<P1, P2>
impl<P1: Clone + Implementable, P2: Clone + Implementable> Clone for Join<P1, P2>
Source§impl<P1: Debug + Implementable, P2: Debug + Implementable> Debug for Join<P1, P2>
impl<P1: Debug + Implementable, P2: Debug + Implementable> Debug for Join<P1, P2>
Source§impl<'de, P1, P2> Deserialize<'de> for Join<P1, P2>
impl<'de, P1, P2> Deserialize<'de> for Join<P1, P2>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<P1: Hash + Implementable, P2: Hash + Implementable> Hash for Join<P1, P2>
impl<P1: Hash + Implementable, P2: Hash + Implementable> Hash for Join<P1, P2>
Source§impl<P1: Implementable, P2: Implementable> Implementable for Join<P1, P2>
impl<P1: Implementable, P2: Implementable> Implementable for Join<P1, P2>
Source§fn dependencies(&self) -> Dependencies
fn dependencies(&self) -> Dependencies
Returns names of any other implementable things that need to
be available before implementing this one. Attributes are not
mentioned explicitley as dependencies.
Source§fn into_bindings(&self) -> Vec<Binding>
fn into_bindings(&self) -> Vec<Binding>
Transforms an implementable into an equivalent set of bindings
that can be unified by Hector.
Source§impl<P1: Ord + Implementable, P2: Ord + Implementable> Ord for Join<P1, P2>
impl<P1: Ord + Implementable, P2: Ord + Implementable> Ord for Join<P1, P2>
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl<P1: PartialEq + Implementable, P2: PartialEq + Implementable> PartialEq for Join<P1, P2>
impl<P1: PartialEq + Implementable, P2: PartialEq + Implementable> PartialEq for Join<P1, P2>
Source§impl<P1: PartialOrd + Implementable, P2: PartialOrd + Implementable> PartialOrd for Join<P1, P2>
impl<P1: PartialOrd + Implementable, P2: PartialOrd + Implementable> PartialOrd for Join<P1, P2>
impl<P1: Eq + Implementable, P2: Eq + Implementable> Eq for Join<P1, P2>
impl<P1: Implementable, P2: Implementable> StructuralPartialEq for Join<P1, P2>
Auto Trait Implementations§
impl<P1, P2> Freeze for Join<P1, P2>
impl<P1, P2> RefUnwindSafe for Join<P1, P2>where
P1: RefUnwindSafe,
P2: RefUnwindSafe,
impl<P1, P2> Send for Join<P1, P2>
impl<P1, P2> Sync for Join<P1, P2>
impl<P1, P2> Unpin for Join<P1, P2>
impl<P1, P2> UnwindSafe for Join<P1, P2>where
P1: UnwindSafe,
P2: UnwindSafe,
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