pub struct SimpleAggNode {
pub agg_calls: Vec<AggCall>,
pub distribution_key: Vec<u32>,
pub agg_call_states: Vec<AggCallState>,
pub intermediate_state_table: Option<Table>,
pub is_append_only: bool,
pub distinct_dedup_tables: HashMap<u32, Table>,
pub row_count_index: u32,
pub version: i32,
pub must_output_per_barrier: bool,
}
Fields§
§agg_calls: Vec<AggCall>
§distribution_key: Vec<u32>
Only used for stateless simple agg.
agg_call_states: Vec<AggCallState>
§intermediate_state_table: Option<Table>
§is_append_only: bool
Whether to optimize for append only stream. It is true when the input is append-only
distinct_dedup_tables: HashMap<u32, Table>
§row_count_index: u32
§version: i32
§must_output_per_barrier: bool
Required by the downstream RowMergeNode
,
currently only used by the approx_percentile
’s two phase plan
Implementations§
source§impl SimpleAggNode
impl SimpleAggNode
sourcepub fn version(&self) -> AggNodeVersion
pub fn version(&self) -> AggNodeVersion
Returns the enum value of version
, or the default if the field is set to an invalid enum value.
sourcepub fn set_version(&mut self, value: AggNodeVersion)
pub fn set_version(&mut self, value: AggNodeVersion)
Sets version
to the provided enum value.
source§impl SimpleAggNode
impl SimpleAggNode
pub fn get_agg_calls(&self) -> &Vec<AggCall>
pub fn get_distribution_key(&self) -> &Vec<u32>
pub fn get_agg_call_states(&self) -> &Vec<AggCallState>
pub fn get_intermediate_state_table(&self) -> Result<&Table, PbFieldNotFound>
pub fn get_is_append_only(&self) -> bool
pub fn get_distinct_dedup_tables(&self) -> &HashMap<u32, Table>
pub fn get_row_count_index(&self) -> u32
pub fn get_version(&self) -> Result<AggNodeVersion, PbFieldNotFound>
pub fn get_must_output_per_barrier(&self) -> bool
Trait Implementations§
source§impl Clone for SimpleAggNode
impl Clone for SimpleAggNode
source§fn clone(&self) -> SimpleAggNode
fn clone(&self) -> SimpleAggNode
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 SimpleAggNode
impl Debug for SimpleAggNode
source§impl Default for SimpleAggNode
impl Default for SimpleAggNode
source§impl<'de> Deserialize<'de> for SimpleAggNode
impl<'de> Deserialize<'de> for SimpleAggNode
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 SimpleAggNode
impl Message for SimpleAggNode
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 SimpleAggNode
impl PartialEq for SimpleAggNode
source§impl Serialize for SimpleAggNode
impl Serialize for SimpleAggNode
impl StructuralPartialEq for SimpleAggNode
Auto Trait Implementations§
impl Freeze for SimpleAggNode
impl RefUnwindSafe for SimpleAggNode
impl Send for SimpleAggNode
impl Sync for SimpleAggNode
impl Unpin for SimpleAggNode
impl UnwindSafe for SimpleAggNode
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