nodedb-sql 0.6.2

SQL parser, planner, and optimizer for NodeDB
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// SPDX-License-Identifier: Apache-2.0

//! The optimization pass pipeline.

use crate::catalog::SqlCatalog;
use crate::types::SqlPlan;

use super::{point_get, predicate_pushdown};

/// Apply all optimization passes to a plan.
pub fn optimize(plan: SqlPlan, catalog: &dyn SqlCatalog) -> crate::Result<SqlPlan> {
    let plan = point_get::optimize(plan, catalog)?;
    Ok(predicate_pushdown::optimize(plan))
}