radixdb_executor/optimizer/mod.rs
1// Copyright 2026 RadixDB Contributors
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
15//! Executor-owned adaptive state used by execution and later planning steps.
16
17pub mod bloom;
18pub mod feedback;
19pub mod simplify;
20pub mod workload;
21
22pub use bloom::{BloomFilter, BloomFilterBuilder, RuntimeBloomFilter};
23pub use feedback::{
24 extract_column_from_predicate, fingerprint_predicate, global_feedback_cache,
25 CardinalityFeedback, FeedbackCache, DEFAULT_DECAY_FACTOR, MAX_CORRECTION_FACTOR,
26 MIN_CORRECTION_FACTOR, MIN_SAMPLE_COUNT,
27};
28pub use simplify::{simplify_expression, simplify_expression_fixed_point, ExpressionSimplifier};
29pub use workload::{
30 global_workload_learner, EdgeAwarePlanner, EdgeJoinRecommendation, EdgeMode,
31 IndexRecommendation, QueryPattern, TemporalPattern, WorkloadConfig, WorkloadHints,
32 WorkloadLearner,
33};