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