query::planner

Trait LogicalPlanner

source
pub trait LogicalPlanner: Send + Sync {
    // Required methods
    fn plan<'life0, 'life1, 'async_trait>(
        &'life0 self,
        stmt: &'life1 QueryStatement,
        query_ctx: QueryContextRef,
    ) -> Pin<Box<dyn Future<Output = Result<LogicalPlan>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn plan_logs_query<'life0, 'async_trait>(
        &'life0 self,
        query: LogQuery,
        query_ctx: QueryContextRef,
    ) -> Pin<Box<dyn Future<Output = Result<LogicalPlan>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn optimize(&self, plan: LogicalPlan) -> Result<LogicalPlan>;
    fn as_any(&self) -> &dyn Any;
}

Required Methods§

source

fn plan<'life0, 'life1, 'async_trait>( &'life0 self, stmt: &'life1 QueryStatement, query_ctx: QueryContextRef, ) -> Pin<Box<dyn Future<Output = Result<LogicalPlan>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn plan_logs_query<'life0, 'async_trait>( &'life0 self, query: LogQuery, query_ctx: QueryContextRef, ) -> Pin<Box<dyn Future<Output = Result<LogicalPlan>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

source

fn optimize(&self, plan: LogicalPlan) -> Result<LogicalPlan>

source

fn as_any(&self) -> &dyn Any

Implementors§