pub struct ExprAggregate {
pub left: Box<dyn AggregateFunc>,
pub left_field: Option<String>,
pub op: AggBinOp,
pub right: Box<dyn AggregateFunc>,
pub right_field: Option<String>,
}Expand description
Expression-based aggregate that combines two aggregates with an operator
Fields§
§left: Box<dyn AggregateFunc>§left_field: Option<String>§op: AggBinOp§right: Box<dyn AggregateFunc>§right_field: Option<String>Implementations§
Source§impl ExprAggregate
impl ExprAggregate
Trait Implementations§
Source§impl AggregateFunc for ExprAggregate
impl AggregateFunc for ExprAggregate
Source§fn name(&self) -> &'static str
fn name(&self) -> &'static str
Returns the name of this aggregation function (e.g., “sum”, “avg”).
Source§fn apply(&self, events: &[Event], _field: Option<&str>) -> Value
fn apply(&self, events: &[Event], _field: Option<&str>) -> Value
Apply the aggregation to a slice of events. Read more
Source§fn apply_refs(&self, events: &[&Event], _field: Option<&str>) -> Value
fn apply_refs(&self, events: &[&Event], _field: Option<&str>) -> Value
Apply aggregation to event references (internal helper)
Apply aggregation to shared events (avoids cloning in hot paths). Read more
Source§fn apply_columnar(
&self,
buffer: &mut ColumnarBuffer,
field: Option<&str>,
) -> Value
fn apply_columnar( &self, buffer: &mut ColumnarBuffer, field: Option<&str>, ) -> Value
Apply aggregation to columnar buffer (SIMD-optimized for numeric aggregations). Read more
Auto Trait Implementations§
impl Freeze for ExprAggregate
impl !RefUnwindSafe for ExprAggregate
impl Send for ExprAggregate
impl Sync for ExprAggregate
impl Unpin for ExprAggregate
impl UnsafeUnpin for ExprAggregate
impl !UnwindSafe for ExprAggregate
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> 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 more