Skip to main content

BuildSide

Enum BuildSide 

Source
pub enum BuildSide {
    Right,
    Left,
}
Expand description

Which input of a join is gathered whole before the other one starts.

A join is two inputs and a dependency edge between them: one side is finished and held, and then the other side’s rows are matched against what was held. This says which side that is. It is where the hash table goes when the hash join in #62 lands, and it is the side today’s nested loop turns into chunks and rescans once per row of the other one.

Which side that should be is not a property of the join and is not decided here. It is decided by sides from a cardinality estimate, and the rule it uses belongs to whichever operator is reading this, not to the flag.

Variants§

§

Right

The right input, which is what the binder emits and what every join did before this existed.

§

Left

The left input, which means the executor swaps the two and puts the answer back in order.

Implementations§

Source§

impl BuildSide

Source

pub fn keyword(self) -> &'static str

The spelling used in the textual form.

Trait Implementations§

Source§

impl Clone for BuildSide

Source§

fn clone(&self) -> BuildSide

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for BuildSide

Source§

impl Debug for BuildSide

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for BuildSide

Source§

fn default() -> BuildSide

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

impl Eq for BuildSide

Source§

impl Hash for BuildSide

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for BuildSide

Source§

fn eq(&self, other: &BuildSide) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for BuildSide

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.