1#![allow(
26 clippy::enum_glob_use,
27 clippy::doc_markdown,
28 clippy::map_unwrap_or,
29 clippy::derivable_impls,
30 clippy::match_same_arms,
31 clippy::module_name_repetitions,
32 clippy::missing_panics_doc,
33 clippy::panic_in_result_fn,
34 clippy::needless_for_each,
35 clippy::manual_assert,
36 clippy::option_if_let_else,
37 clippy::similar_names,
38 clippy::needless_pass_by_value,
39 clippy::unnecessary_wraps,
40 dead_code,
41 unused_imports,
42 clippy::struct_excessive_bools,
43 clippy::only_used_in_recursion,
44 clippy::question_mark,
45 clippy::unused_self,
46 clippy::single_match_else
47)]
48
49pub mod cardinality;
50pub mod cost_model;
51pub mod join_enumerator;
52pub mod join_graph;
53pub mod join_order;
54pub mod optimizer;
55pub mod plan_cost;
56pub mod query_optimizer;
57pub mod statement_planning;
58pub mod text_top_k;
59pub mod unified_plan;
60
61pub use cardinality::{
62 column_entropy, entropy_cardinality_lower_bound, mutual_information_estimate, AccessParadigm,
63 CardinalityEstimator, ColumnStats, EdgeSample, GraphStats, GraphStoreSampler,
64 LocalAccessEstimate, RelationStats, Selectivity, GRAPH_AVG_DEGREE_DEFAULT,
65 JACCARD_JOIN_SELECTIVITY,
66};
67pub use cost_model::{CostEstimator, OperatorCost, OperatorKind};
68pub use join_enumerator::{enumerate_dpccp, enumerate_dpccp_with_cost_estimator, JoinPlan};
69pub use join_graph::{JoinEdge, JoinGraph, JoinGraphError, JoinGraphResult};
70pub use join_order::{
71 JoinAlgorithm, JoinCondition, JoinOrderOptimizer, JoinOrderResult, JoinOrderTree,
72 JoinPredicate, JoinRelation,
73};
74pub use optimizer::{
75 optimize, optimize_with_aggregates, optimize_with_aggregates_and_statistics,
76 optimize_with_statistics, ConstantEvaluator, OptimizerConfig, SourceStatistics,
77};
78pub use query_optimizer::{
79 IndexScanCandidate, OptimizerConfig as TreeOptimizerConfig, QueryOptimizer,
80};
81pub use text_top_k::{plan_text_top_k, TextTopKCapabilities};
82pub use unified_plan::{
83 rewrite_scalar_expression, AccessPathPlan, AggregateClassifier, AssignmentPlan, CommandPlan,
84 ComputePlan, ConflictActionPlan, ConflictPlan, CteCyclePlan, CtePlan, CtePlanBody,
85 CteSearchPlan, DeletePlan, ExpressionPlan, InsertPlan, JoinExecutionStrategy, MergePlan,
86 MergeWhenPlan, OrderPlan, ProjectionPlan, QueryBlockPlan, QueryPlan, RelationalPlan,
87 SourcePlan, TableFunctionPlan, UnifiedPlan, UpdatePlan, ViewCheckPlan, ViewRuleInsertPlan,
88 ViewRuleReturningPlan, ViewRuleUpdatePlan,
89};
90pub use uqa_sql::{
91 ScalarExpr, ScalarFrameBound, ScalarOrder, ScalarWindowFrame, ScalarWindowSpec, SubqueryId,
92};
93
94pub mod source_filters;
95
96pub mod filter_pushdown;
97
98pub mod explain;
99
100pub mod column_pruning;
101
102pub mod mutation_outputs;
103
104pub mod retrieval_planning;