nodedb_sql/optimizer/pipeline.rs
1// SPDX-License-Identifier: Apache-2.0
2
3//! The optimization pass pipeline.
4
5use crate::catalog::SqlCatalog;
6use crate::types::SqlPlan;
7
8use super::{point_get, predicate_pushdown};
9
10/// Apply all optimization passes to a plan.
11pub fn optimize(plan: SqlPlan, catalog: &dyn SqlCatalog) -> crate::Result<SqlPlan> {
12 let plan = point_get::optimize(plan, catalog)?;
13 Ok(predicate_pushdown::optimize(plan))
14}