pub struct DistributedLookupJoinNode {
pub join_type: i32,
pub condition: Option<ExprNode>,
pub outer_side_key: Vec<u32>,
pub inner_side_key: Vec<u32>,
pub lookup_prefix_len: u32,
pub inner_side_table_desc: Option<StorageTableDesc>,
pub inner_side_column_ids: Vec<i32>,
pub output_indices: Vec<u32>,
pub null_safe: Vec<bool>,
pub query_epoch: Option<BatchQueryEpoch>,
pub asof_desc: Option<AsOfJoinDesc>,
}Expand description
RFC: A new schedule way for distributed lookup join https://github.com/risingwavelabs/rfcs/pull/6
Fields§
§join_type: i32§condition: Option<ExprNode>§outer_side_key: Vec<u32>§inner_side_key: Vec<u32>§lookup_prefix_len: u32§inner_side_table_desc: Option<StorageTableDesc>§inner_side_column_ids: Vec<i32>§output_indices: Vec<u32>§null_safe: Vec<bool>Null safe means it treats null = null as true.
Each key pair can be null safe independently. (left_key, right_key, null_safe)
query_epoch: Option<BatchQueryEpoch>§asof_desc: Option<AsOfJoinDesc>Implementations§
Source§impl DistributedLookupJoinNode
impl DistributedLookupJoinNode
pub fn get_join_type(&self) -> Result<JoinType, PbFieldNotFound>
pub fn get_condition(&self) -> Result<&ExprNode, PbFieldNotFound>
pub fn get_outer_side_key(&self) -> &Vec<u32>
pub fn get_inner_side_key(&self) -> &Vec<u32>
pub fn get_lookup_prefix_len(&self) -> u32
pub fn get_inner_side_table_desc( &self, ) -> Result<&StorageTableDesc, PbFieldNotFound>
pub fn get_inner_side_column_ids(&self) -> &Vec<i32>
pub fn get_output_indices(&self) -> &Vec<u32>
pub fn get_null_safe(&self) -> &Vec<bool>
pub fn get_query_epoch(&self) -> Result<&BatchQueryEpoch, PbFieldNotFound>
pub fn get_asof_desc(&self) -> Result<&AsOfJoinDesc, PbFieldNotFound>
Trait Implementations§
Source§impl Clone for DistributedLookupJoinNode
impl Clone for DistributedLookupJoinNode
Source§fn clone(&self) -> DistributedLookupJoinNode
fn clone(&self) -> DistributedLookupJoinNode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DistributedLookupJoinNode
impl Debug for DistributedLookupJoinNode
Source§impl Default for DistributedLookupJoinNode
impl Default for DistributedLookupJoinNode
Source§impl<'de> Deserialize<'de> for DistributedLookupJoinNode
impl<'de> Deserialize<'de> for DistributedLookupJoinNode
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 Message for DistributedLookupJoinNode
impl Message for DistributedLookupJoinNode
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.impl StructuralPartialEq for DistributedLookupJoinNode
Auto Trait Implementations§
impl Freeze for DistributedLookupJoinNode
impl RefUnwindSafe for DistributedLookupJoinNode
impl Send for DistributedLookupJoinNode
impl Sync for DistributedLookupJoinNode
impl Unpin for DistributedLookupJoinNode
impl UnwindSafe for DistributedLookupJoinNode
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> Downcast for Twhere
T: AsAny + ?Sized,
impl<T> Downcast for Twhere
T: AsAny + ?Sized,
§fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
fn downcast_ref<T>(&self) -> Option<&T>where
T: AsAny,
Forward to the method defined on the type
Any.§fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: AsAny,
Forward to the method defined on the type
Any.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request