pub struct Join {
pub left: Arc<LogicalPlan>,
pub right: Arc<LogicalPlan>,
pub on: Vec<(Expr, Expr)>,
pub filter: Option<Expr>,
pub join_type: JoinType,
pub join_constraint: JoinConstraint,
pub schema: DFSchemaRef,
pub null_equals_null: bool,
}
Expand description
Join two logical plans on one or more join columns
Fields§
§left: Arc<LogicalPlan>
Left input
right: Arc<LogicalPlan>
Right input
on: Vec<(Expr, Expr)>
Equijoin clause expressed as pairs of (left, right) join expressions
filter: Option<Expr>
Filters applied during join (non-equi conditions)
join_type: JoinType
Join type
join_constraint: JoinConstraint
Join constraint
schema: DFSchemaRef
The output schema, containing fields from the left and right inputs
null_equals_null: bool
If null_equals_null is true, null == null else null != null
Implementations§
Source§impl Join
impl Join
Sourcepub fn try_new_with_project_input(
original: &LogicalPlan,
left: Arc<LogicalPlan>,
right: Arc<LogicalPlan>,
column_on: (Vec<Column>, Vec<Column>),
) -> Result<Self>
pub fn try_new_with_project_input( original: &LogicalPlan, left: Arc<LogicalPlan>, right: Arc<LogicalPlan>, column_on: (Vec<Column>, Vec<Column>), ) -> Result<Self>
Create Join with input which wrapped with projection, this method is used to help create physical join.
Trait Implementations§
Source§impl PartialOrd for Join
impl PartialOrd for Join
impl Eq for Join
impl StructuralPartialEq for Join
Auto Trait Implementations§
impl Freeze for Join
impl !RefUnwindSafe for Join
impl Send for Join
impl Sync for Join
impl Unpin for Join
impl !UnwindSafe for Join
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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