1pub mod analysis;
46pub mod builder;
47pub mod context;
48pub mod cost;
49pub mod decision;
50pub mod engine;
51pub mod error;
52pub mod factorization;
53pub mod partitioning;
54pub mod stats;
55
56pub mod cost_based; pub mod heuristic; pub use builder::OptimizerEngineBuilder;
62pub use engine::OptimizerEngine;
63pub use error::{CostError, CostResult, OptimizeError, OptimizeResult};
64pub use partitioning::{PartitioningConfig, PartitioningDecision, PartitioningPlanner};
65
66pub use stats::{
67 CardinalityFeedbackManager, DecisionFeedbackStore, DecorrelationAdvice, EdgeTypeStatistics,
68 FeedbackDrivenSelectivity, OperatorFeedback, PropertyStatistics, QueryExecutionFeedback,
69 QueryFeedbackHistory, SelectivityFeedbackManager, StatisticsManager, TagStatistics,
70};
71
72pub use cost::{CostAssigner, CostCalculator, CostModelConfig, SelectivityEstimator};
73
74pub use analysis::{
76 AggregatedExpressionAnalysis, AnalysisOptions, BatchPlanAnalysis, BatchPlanAnalyzer,
77 ExpressionAnalysis, ReferenceCountAnalysis,
78};
79
80pub use context::OptimizationContext;
81
82pub use cost_based::{
84 AggregateContext, AggregateSelectionReason, AggregateStrategy, AggregateStrategyDecision,
85 AggregateStrategySelector, CandidateStart, DegreeInfo, DirectionContext,
86 DirectionSelectionReason, IndexSelection, IndexSelector, JoinCondition, JoinOrderOptimizer,
87 JoinOrderResult, KeepReason, OptimizationMethod, PredicateOperator, PropertyPredicate,
88 SortContext, SortEliminationDecision, SortEliminationOptimizer, SortKeepReason,
89 SubqueryUnnestingOptimizer, TableInfo, TopNConversionReason, TraversalDirection,
90 TraversalDirectionDecision, TraversalDirectionOptimizer, TraversalSelectionReason,
91 TraversalStartSelector, UnnestDecision, UnnestReason,
92};
93
94pub use crate::cache::{
96 CteCacheConfig, CteCacheDecision, CteCacheDecisionMaker, CteCacheEntry, CteCacheManager,
97 CteCacheStats,
98};
99
100pub use heuristic::{
102 BaseRewriteRule, EliminationRule, HeuristicRule, HeuristicRuleAdapter, IntoOptRule,
103 MatchedResult, MergeRule, NodeRewriter, PushDownRule, RewriteContext, RewriteError,
104 RewriteRule, RuleWrapper, TransformResult,
105};
106
107pub use decision::{
108 AccessPath, EntityIndexChoice, EntityType, IndexChoice, IndexSelectionDecision, JoinAlgorithm,
109 JoinOrderDecision, OptimizationDecision, RewriteRuleId, TraversalStartDecision,
110};