Skip to main content

AggregationExecutorExt

Trait AggregationExecutorExt 

Source
pub trait AggregationExecutorExt: AggregationHost {
    // Provided methods
    fn execute_select_with_aggregation(
        &self,
        statement: &SelectStatement,
        context: &ExecutionContext,
        rows: RowVec,
        columns: &[String],
    ) -> Result<Box<dyn QueryResult>> { ... }
    fn execute_aggregation_for_window(
        &self,
        statement: &SelectStatement,
        context: &ExecutionContext,
        rows: &[(i64, Row)],
        columns: &[String],
    ) -> Result<(Vec<String>, RowVec)> { ... }
    fn try_aggregation_pushdown(
        &self,
        table: &dyn Table,
        statement: &SelectStatement,
        context: &ExecutionContext,
        classification: &Arc<QueryClassification>,
    ) -> Result<Option<Box<dyn QueryResult>>> { ... }
    fn try_filtered_aggregation_pushdown(
        &self,
        table: &dyn Table,
        statement: &SelectStatement,
        context: &ExecutionContext,
        classification: &Arc<QueryClassification>,
        columns: &[String],
    ) -> Result<Option<Box<dyn QueryResult>>> { ... }
    fn try_streaming_global_aggregation(
        &self,
        table: &dyn Table,
        statement: &SelectStatement,
        context: &ExecutionContext,
        classification: &Arc<QueryClassification>,
    ) -> Result<Option<Box<dyn QueryResult>>> { ... }
    fn try_streaming_derived_table_aggregation(
        &self,
        source: Box<dyn QueryResult>,
        statement: &SelectStatement,
        classification: &Arc<QueryClassification>,
        context: &ExecutionContext,
    ) -> Result<DerivedAggregationAttempt> { ... }
    fn try_storage_aggregation(
        &self,
        table: &dyn Table,
        statement: &SelectStatement,
        context: &ExecutionContext,
        columns: &[String],
        classification: &QueryClassification,
    ) -> Option<Box<dyn QueryResult>> { ... }
    fn try_fast_count_distinct_compiled(
        &self,
        statement: &SelectStatement,
        compiled: &RwLock<CompiledExecution>,
    ) -> Option<Result<Box<dyn QueryResult>>> { ... }
    fn try_fast_count_star_compiled(
        &self,
        statement: &SelectStatement,
        compiled: &RwLock<CompiledExecution>,
    ) -> Option<Result<Box<dyn QueryResult>>> { ... }
}
Expand description

Internal call surface between aggregation phases and the SELECT owner.

Provided Methods§

Source

fn execute_select_with_aggregation( &self, statement: &SelectStatement, context: &ExecutionContext, rows: RowVec, columns: &[String], ) -> Result<Box<dyn QueryResult>>

Source

fn execute_aggregation_for_window( &self, statement: &SelectStatement, context: &ExecutionContext, rows: &[(i64, Row)], columns: &[String], ) -> Result<(Vec<String>, RowVec)>

Source

fn try_aggregation_pushdown( &self, table: &dyn Table, statement: &SelectStatement, context: &ExecutionContext, classification: &Arc<QueryClassification>, ) -> Result<Option<Box<dyn QueryResult>>>

Source

fn try_filtered_aggregation_pushdown( &self, table: &dyn Table, statement: &SelectStatement, context: &ExecutionContext, classification: &Arc<QueryClassification>, columns: &[String], ) -> Result<Option<Box<dyn QueryResult>>>

Source

fn try_streaming_global_aggregation( &self, table: &dyn Table, statement: &SelectStatement, context: &ExecutionContext, classification: &Arc<QueryClassification>, ) -> Result<Option<Box<dyn QueryResult>>>

Source

fn try_streaming_derived_table_aggregation( &self, source: Box<dyn QueryResult>, statement: &SelectStatement, classification: &Arc<QueryClassification>, context: &ExecutionContext, ) -> Result<DerivedAggregationAttempt>

Source

fn try_storage_aggregation( &self, table: &dyn Table, statement: &SelectStatement, context: &ExecutionContext, columns: &[String], classification: &QueryClassification, ) -> Option<Box<dyn QueryResult>>

Source

fn try_fast_count_distinct_compiled( &self, statement: &SelectStatement, compiled: &RwLock<CompiledExecution>, ) -> Option<Result<Box<dyn QueryResult>>>

Source

fn try_fast_count_star_compiled( &self, statement: &SelectStatement, compiled: &RwLock<CompiledExecution>, ) -> Option<Result<Box<dyn QueryResult>>>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§