mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-03 03:47:42 +00:00
0b270bf0cc
Signed-off-by: junxiang Mu <1948535941@qq.com>
16 lines
401 B
Rust
16 lines
401 B
Rust
use std::sync::Arc;
|
|
|
|
use async_trait::async_trait;
|
|
use datafusion::physical_plan::ExecutionPlan;
|
|
|
|
use super::logical_planner::QueryPlan;
|
|
use super::session::SessionCtx;
|
|
use crate::QueryResult;
|
|
|
|
pub type OptimizerRef = Arc<dyn Optimizer + Send + Sync>;
|
|
|
|
#[async_trait]
|
|
pub trait Optimizer {
|
|
async fn optimize(&self, plan: &QueryPlan, session: &SessionCtx) -> QueryResult<Arc<dyn ExecutionPlan>>;
|
|
}
|