Files
rustfs/s3select/query/src/sql/physical/optimizer.rs
T
2025-06-09 11:29:23 +08:00

13 lines
437 B
Rust

use std::sync::Arc;
use api::QueryResult;
use api::query::session::SessionCtx;
use datafusion::physical_optimizer::PhysicalOptimizerRule;
use datafusion::physical_plan::ExecutionPlan;
pub trait PhysicalOptimizer {
fn optimize(&self, plan: Arc<dyn ExecutionPlan>, session: &SessionCtx) -> QueryResult<Arc<dyn ExecutionPlan>>;
fn inject_optimizer_rule(&mut self, optimizer_rule: Arc<dyn PhysicalOptimizerRule + Send + Sync>);
}