Skip to main content

reddb_server/storage/query/planner/
mod.rs

1//! Query Planning Layer
2//!
3//! Multi-pass query rewriting and optimization inspired by Neo4j's planning architecture.
4//!
5//! # Components
6//!
7//! - **rewriter**: Multi-pass query AST transformation
8//! - **cache**: LRU cache for compiled query plans
9//! - **cost**: Cost-based plan selection with cardinality estimation
10//! - **optimizer**: Query optimization strategies
11
12pub mod cache;
13pub mod cache_key;
14pub mod cost;
15pub mod histogram;
16pub mod hypertable_pruning;
17pub mod index_only;
18pub mod join_dp;
19pub mod optimizer;
20pub mod partition_pruning;
21pub mod pathkeys;
22pub mod projections;
23pub mod rewriter;
24pub mod shape;
25pub mod stats_provider;
26
27mod logical;
28pub(crate) mod stats_catalog;
29mod types;
30
31pub use cache::{CachedPlan, PlanCache};
32pub use cost::{CardinalityEstimate, ColumnStats, CostEstimator, PlanCost, TableStats};
33pub use histogram::{Bucket, ColumnValue, Histogram, MostCommonValues};
34pub use optimizer::{OptimizationPass, QueryOptimizer};
35pub use rewriter::{QueryRewriter, RewriteContext, RewriteRule};
36pub use stats_provider::{NullProvider, RegistryProvider, StaticProvider, StatsProvider};
37pub use types::{
38    build_canonical_plan, AccessPathDecision, CacheStats, CanonicalLogicalNode,
39    CanonicalLogicalPlan, CanonicalPlanner, QueryPlan, QueryPlanner,
40};