pub struct HashJoinExecNode {
pub left: Option<Box<PhysicalPlanNode>>,
pub right: Option<Box<PhysicalPlanNode>>,
pub on: Vec<JoinOn>,
pub join_type: i32,
pub partition_mode: i32,
pub null_equality: i32,
pub filter: Option<JoinFilter>,
pub projection: Vec<u32>,
pub null_aware: bool,
pub dynamic_filter: Option<PhysicalExprNode>,
pub fetch: Option<u64>,
}Fields§
§left: Option<Box<PhysicalPlanNode>>§right: Option<Box<PhysicalPlanNode>>§on: Vec<JoinOn>§join_type: i32§partition_mode: i32§null_equality: i32§filter: Option<JoinFilter>§projection: Vec<u32>§null_aware: bool§dynamic_filter: Option<PhysicalExprNode>Optional dynamic filter expression for pushing down to the probe side.
fetch: Option<u64>Optional row limit pushed into the join by the limit_pushdown rule.
This is presence-tracked (optional) on purpose: messages produced by
versions predating this field carry no fetch at all, and a plain proto3
scalar would decode that absence as 0, i.e. “fetch 0 rows”, silently
turning old plans into empty results. With optional, absent decodes to
None, which is the correct reading of an older message.
Implementations§
Source§impl HashJoinExecNode
impl HashJoinExecNode
Sourcepub fn join_type(&self) -> JoinType
pub fn join_type(&self) -> JoinType
Returns the enum value of join_type, or the default if the field is set to an invalid enum value.
Sourcepub fn set_join_type(&mut self, value: JoinType)
pub fn set_join_type(&mut self, value: JoinType)
Sets join_type to the provided enum value.
Sourcepub fn partition_mode(&self) -> PartitionMode
pub fn partition_mode(&self) -> PartitionMode
Returns the enum value of partition_mode, or the default if the field is set to an invalid enum value.
Sourcepub fn set_partition_mode(&mut self, value: PartitionMode)
pub fn set_partition_mode(&mut self, value: PartitionMode)
Sets partition_mode to the provided enum value.
Sourcepub fn null_equality(&self) -> NullEquality
pub fn null_equality(&self) -> NullEquality
Returns the enum value of null_equality, or the default if the field is set to an invalid enum value.
Sourcepub fn set_null_equality(&mut self, value: NullEquality)
pub fn set_null_equality(&mut self, value: NullEquality)
Sets null_equality to the provided enum value.
Trait Implementations§
Source§impl Clone for HashJoinExecNode
impl Clone for HashJoinExecNode
Source§fn clone(&self) -> HashJoinExecNode
fn clone(&self) -> HashJoinExecNode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HashJoinExecNode
impl Debug for HashJoinExecNode
Source§impl Default for HashJoinExecNode
impl Default for HashJoinExecNode
§impl<'de> Deserialize<'de> for HashJoinExecNode
impl<'de> Deserialize<'de> for HashJoinExecNode
§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>,
Source§impl Message for HashJoinExecNode
impl Message for HashJoinExecNode
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for HashJoinExecNode
impl PartialEq for HashJoinExecNode
§impl Serialize for HashJoinExecNode
impl Serialize for HashJoinExecNode
impl StructuralPartialEq for HashJoinExecNode
Auto Trait Implementations§
impl Freeze for HashJoinExecNode
impl RefUnwindSafe for HashJoinExecNode
impl Send for HashJoinExecNode
impl Sync for HashJoinExecNode
impl Unpin for HashJoinExecNode
impl UnsafeUnpin for HashJoinExecNode
impl UnwindSafe for HashJoinExecNode
Blanket Implementations§
impl<T> Allocation for T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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