Skip to main content

AggregationHost

Trait AggregationHost 

Source
pub trait AggregationHost: Sync {
    // Required methods
    fn aggregation_engine(&self) -> &Arc<MVCCEngine> ;
    fn aggregation_function_registry(&self) -> &FunctionRegistry;
    fn aggregation_active_transaction(
        &self,
    ) -> &Mutex<Option<ActiveTransaction>>;
    fn aggregation_process_where_subqueries(
        &self,
        expression: &Expression,
        context: &ExecutionContext,
    ) -> Result<Expression>;
    fn aggregation_try_process_select_subqueries(
        &self,
        columns: &[Expression],
        context: &ExecutionContext,
    ) -> Result<Option<Vec<Expression>>>;
    fn aggregation_has_correlated_subqueries(
        &self,
        expression: &Expression,
    ) -> bool;
    fn aggregation_process_correlated_expression(
        &self,
        expression: &Expression,
        context: &ExecutionContext,
    ) -> Result<Expression>;
    fn aggregation_output_column_names(
        &self,
        select_expressions: &[Expression],
        source_columns: &[String],
        table_alias: Option<&str>,
    ) -> Vec<String>;
}
Expand description

Narrow composition contract for the remaining correlated-subquery hooks. Storage and function dependencies stay explicit and downward-only.

Required Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§