pub struct AggregateOperator { /* private fields */ }Expand description
Aggregate operator: GROUP BY + Aggregations
Implementations§
Source§impl AggregateOperator
impl AggregateOperator
pub fn new( input: OperatorBox, group_by: Vec<(Expression, String)>, aggregates: Vec<AggregateFunction>, ) -> Self
Trait Implementations§
Source§impl PhysicalOperator for AggregateOperator
impl PhysicalOperator for AggregateOperator
Source§fn next(&mut self, store: &GraphStore) -> ExecutionResult<Option<Record>>
fn next(&mut self, store: &GraphStore) -> ExecutionResult<Option<Record>>
Get the next record from this operator (read-only operations)
Source§fn next_batch(
&mut self,
store: &GraphStore,
batch_size: usize,
) -> ExecutionResult<Option<RecordBatch>>
fn next_batch( &mut self, store: &GraphStore, batch_size: usize, ) -> ExecutionResult<Option<RecordBatch>>
Get the next batch of records (Vectorized Execution)
Defaults to accumulating records from next()
Source§fn describe(&self) -> OperatorDescription
fn describe(&self) -> OperatorDescription
Describe this operator for EXPLAIN output
Returns (operator_name, details, children)
Source§fn next_batch_mut(
&mut self,
store: &mut GraphStore,
tenant_id: &str,
batch_size: usize,
) -> ExecutionResult<Option<RecordBatch>>
fn next_batch_mut( &mut self, store: &mut GraphStore, tenant_id: &str, batch_size: usize, ) -> ExecutionResult<Option<RecordBatch>>
Get the next batch of records for mutating operations
Source§fn next_mut(
&mut self,
store: &mut GraphStore,
_tenant_id: &str,
) -> ExecutionResult<Option<Record>>
fn next_mut( &mut self, store: &mut GraphStore, _tenant_id: &str, ) -> ExecutionResult<Option<Record>>
Get the next record from this operator (write operations that mutate the store)
Source§fn is_mutating(&self) -> bool
fn is_mutating(&self) -> bool
Returns true if this operator mutates the graph store
Auto Trait Implementations§
impl Freeze for AggregateOperator
impl !RefUnwindSafe for AggregateOperator
impl Send for AggregateOperator
impl !Sync for AggregateOperator
impl Unpin for AggregateOperator
impl UnsafeUnpin for AggregateOperator
impl !UnwindSafe for AggregateOperator
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> 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