Skip to main content

hawdb_optimizer_graph/graph/
mod.rs

1// Copyright 2026 Nowledge
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15use crate::{
16    Distribution, MemoryBudgetClass, OptimizationSearchReport, OptimizerConfig, OptimizerTrace,
17    PhysicalProperties, PlanCost, PlanCostBreakdown, ScanPruningSupport, StageStats,
18    VectorPrecision,
19};
20use hawdb_plan_cypher::PhysicalPlan;
21
22mod access_path;
23mod cardinality;
24mod catalog;
25mod costing;
26mod logical_rewrite;
27mod lowering;
28mod properties;
29mod roots;
30mod selected_trace;
31mod stages;
32mod value_range;
33
34pub use catalog::{
35    optimizer_catalog_from_graph_statistics, OptimizerCatalog, OptimizerCatalogIndexes,
36    OptimizerCatalogStatistics, OptimizerIndexStatistics,
37};
38pub use costing::{node_equality_index_seek_is_cheaper, NODE_INDEX_SMALL_LABEL_SCAN_THRESHOLD};
39pub use lowering::CascadesOptimizer;
40pub use roots::{
41    FastPathPhysicalPhase, FastPathPhysicalPlanRoot, LogicalPhase, LogicalPlanRoot,
42    LoweringReadyLogicalPlanRoot, LoweringReadyPhase, PhysicalPhase, PhysicalPlanRoot, PlanPhase,
43    PlanPhaseKind,
44};
45
46#[cfg(test)]
47mod tests;