pub struct Aggregation {
pub node: FlowNodeId,
pub parent: OperatorCell,
pub compiled_group_by: Vec<CompiledExpr>,
pub group_names: Vec<String>,
pub aggregate_output_names: Vec<String>,
pub slot_kinds: Option<Vec<SlotKind>>,
pub slot_inputs: Vec<SlotInput>,
pub compiled_slot_args: Vec<CompiledExpr>,
pub compiled_outputs: Vec<CompiledExpr>,
pub routines: Routines,
pub runtime_context: RuntimeContext,
}Fields§
§node: FlowNodeId§parent: OperatorCell§compiled_group_by: Vec<CompiledExpr>§group_names: Vec<String>§aggregate_output_names: Vec<String>§slot_kinds: Option<Vec<SlotKind>>§slot_inputs: Vec<SlotInput>§compiled_slot_args: Vec<CompiledExpr>§compiled_outputs: Vec<CompiledExpr>§routines: Routines§runtime_context: RuntimeContextImplementations§
Source§impl Aggregation
impl Aggregation
pub fn new( node: FlowNodeId, parent: OperatorCell, group_by: Vec<Expression>, aggregations: Vec<Expression>, routines: Routines, runtime_context: RuntimeContext, context: AggregateContext, ) -> Self
pub fn create_window_key( &self, group_hash: Hash128, window_id: u64, ) -> EncodedKey
pub fn compute_groups( &self, columns: &Columns, ) -> Result<Vec<(Hash128, Vec<Value>)>>
pub fn evaluate_slot_inputs( &self, columns: &Columns, ) -> Result<Vec<ColumnWithName>>
pub fn build_contribution( &self, columns: &Columns, slot_cols: &[ColumnWithName], row_idx: usize, ) -> Vec<Option<Value>>
pub fn compute_outputs(&self, slot_values: &[Value]) -> Result<Vec<Value>>
pub fn build_engine_row( &self, group_values: &[Value], slot_values: &[Value], row_number: RowNumber, ts_nanos: u64, ) -> Result<Row>
pub fn current_timestamp(&self) -> u64
Auto Trait Implementations§
impl !RefUnwindSafe for Aggregation
impl !UnwindSafe for Aggregation
impl Freeze for Aggregation
impl Send for Aggregation
impl Sync for Aggregation
impl Unpin for Aggregation
impl UnsafeUnpin for Aggregation
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: Sized + AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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