use crate::{
Distribution, MemoryBudgetClass, OptimizationSearchReport, OptimizerConfig, OptimizerTrace,
PhysicalProperties, PlanCost, PlanCostBreakdown, ScanPruningSupport, StageStats,
VectorPrecision,
};
use hawdb_plan_cypher::PhysicalPlan;
mod access_path;
mod cardinality;
mod catalog;
mod costing;
mod logical_rewrite;
mod lowering;
mod properties;
mod roots;
mod selected_trace;
mod stages;
mod value_range;
pub use catalog::{
optimizer_catalog_from_graph_statistics, OptimizerCatalog, OptimizerCatalogIndexes,
OptimizerCatalogStatistics, OptimizerIndexStatistics,
};
pub use costing::{node_equality_index_seek_is_cheaper, NODE_INDEX_SMALL_LABEL_SCAN_THRESHOLD};
pub use lowering::CascadesOptimizer;
pub use roots::{
FastPathPhysicalPhase, FastPathPhysicalPlanRoot, LogicalPhase, LogicalPlanRoot,
LoweringReadyLogicalPlanRoot, LoweringReadyPhase, PhysicalPhase, PhysicalPlanRoot, PlanPhase,
PlanPhaseKind,
};
#[cfg(test)]
mod tests;