pub struct LookupNode {
pub arrange_key: Vec<i32>,
pub stream_key: Vec<i32>,
pub use_current_epoch: bool,
pub column_mapping: Vec<i32>,
pub arrangement_table_info: Option<ArrangementInfo>,
pub arrangement_table_id: Option<ArrangementTableId>,
}
Expand description
Special node for shared state. LookupNode will join an arrangement with a stream.
Fields§
§arrange_key: Vec<i32>
Join key of the arrangement side
stream_key: Vec<i32>
Join key of the stream side
use_current_epoch: bool
Whether to join the current epoch of arrangement
column_mapping: Vec<i32>
Sometimes we need to re-order the output data to meet the requirement of schema.
By default, lookup executor will produce <arrangement side, stream side>
. We
will then apply the column mapping to the combined result.
arrangement_table_info: Option<ArrangementInfo>
Info about the arrangement
arrangement_table_id: Option<ArrangementTableId>
Implementations§
source§impl LookupNode
impl LookupNode
pub fn get_arrange_key(&self) -> &Vec<i32>
pub fn get_stream_key(&self) -> &Vec<i32>
pub fn get_use_current_epoch(&self) -> bool
pub fn get_column_mapping(&self) -> &Vec<i32>
pub fn get_arrangement_table_info( &self, ) -> Result<&ArrangementInfo, PbFieldNotFound>
pub fn get_arrangement_table_id( &self, ) -> Result<&ArrangementTableId, PbFieldNotFound>
Trait Implementations§
source§impl Clone for LookupNode
impl Clone for LookupNode
source§fn clone(&self) -> LookupNode
fn clone(&self) -> LookupNode
Returns a copy 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 LookupNode
impl Debug for LookupNode
source§impl Default for LookupNode
impl Default for LookupNode
source§impl<'de> Deserialize<'de> for LookupNode
impl<'de> Deserialize<'de> for LookupNode
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 LookupNode
impl Message for LookupNode
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
.source§impl PartialEq for LookupNode
impl PartialEq for LookupNode
source§impl Serialize for LookupNode
impl Serialize for LookupNode
impl StructuralPartialEq for LookupNode
Auto Trait Implementations§
impl Freeze for LookupNode
impl RefUnwindSafe for LookupNode
impl Send for LookupNode
impl Sync for LookupNode
impl Unpin for LookupNode
impl UnwindSafe for LookupNode
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
)§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> 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