Skip to main content

Crate hawdb_optimizer

Crate hawdb_optimizer 

Source

Re-exports§

pub use context::ExplainMode;
pub use context::OptimizerContext;
pub use context::QueryFamily;
pub use context::ResourceHints;
pub use context::StatementClass;
pub use context::TraceSink;
pub use graph::CascadesOptimizer;
pub use graph::FastPathPhysicalPlanRoot;
pub use graph::OptimizerCatalog;
pub use graph::OptimizerCatalogIndexes;
pub use graph::OptimizerCatalogStatistics;
pub use graph::OptimizerIndexStatistics;
pub use graph::PhysicalPlanRoot;
pub use logical::LogicalPlanClass;
pub use logical::LogicalPlanKind;
pub use logical::LogicalPlanNode;
pub use predicate::normalize_search_enum_value;
pub use predicate::push_search_predicates;
pub use predicate::search_field_is_enum_like;
pub use predicate::SearchFieldRef;
pub use predicate::SearchPredicate;
pub use predicate::SearchPredicateOp;
pub use predicate::SearchPredicateParseError;
pub use predicate::SearchPredicatePushdown;
pub use predicate::SearchPredicateSet;
pub use predicate::SearchScalarValue;
pub use predicate::SearchScanPredicateSupport;
pub use relational::estimate_relational_nested_loop_join_cost;
pub use relational::select_relational_access_path;
pub use relational::skyline_prune_relational_access_paths;
pub use relational::RelationalAccessPathDescriptor;
pub use relational::RelationalAccessPathKind;
pub use relational::RelationalNestedLoopJoinCost;
pub use relational_join::enumerate_relational_inner_joins;
pub use relational_join::RelationalInnerJoinEnumeration;
pub use relational_join::RelationalJoinAccessApplicability;
pub use relational_join::RelationalJoinAccessPath;
pub use relational_join::RelationalJoinEnumerationConfig;
pub use relational_join::RelationalJoinEnumerationError;
pub use relational_join::RelationalJoinGraph;
pub use relational_join::RelationalJoinPlan;
pub use relational_join::RelationalJoinPredicate;
pub use relational_join::RelationalJoinPredicateId;
pub use relational_join::RelationalJoinRelation;
pub use relational_join::RelationalJoinStep;
pub use relational_join_hypergraph::enumerate_relational_csg_cmp_joins;
pub use relational_join_hypergraph::enumerate_relational_csg_cmp_joins_with_implementations;
pub use relational_join_hypergraph::enumerate_relational_csg_cmp_joins_with_right_input_policy;
pub use relational_join_hypergraph::RelationalCsgCmpAlternative;
pub use relational_join_hypergraph::RelationalCsgCmpEnumeration;
pub use relational_join_hypergraph::RelationalCsgCmpJoinImplementation;
pub use relational_join_hypergraph::RelationalCsgCmpPlan;
pub use relational_join_hypergraph::RelationalCsgCmpPlanNode;
pub use relational_join_hypergraph::RelationalCsgCmpRightInputPolicy;
pub use relational_join_hypergraph::RelationalEquiJoinAlgorithm;
pub use relational_join_rewrite::analyze_relational_join_conflicts;
pub use relational_join_rewrite::enumerate_relational_join_rewrites;
pub use relational_join_rewrite::RelationalJoinConflictAnalysis;
pub use relational_join_rewrite::RelationalJoinConflictDescriptor;
pub use relational_join_rewrite::RelationalJoinConflictRule;
pub use relational_join_rewrite::RelationalJoinOperator;
pub use relational_join_rewrite::RelationalJoinOperatorId;
pub use relational_join_rewrite::RelationalJoinOperatorKind;
pub use relational_join_rewrite::RelationalJoinRewriteEnumeration;
pub use relational_join_rewrite::RelationalJoinRewriteError;
pub use relational_join_rewrite::RelationalJoinRewritePlan;
pub use relational_join_rewrite::RelationalJoinRewriteProblem;
pub use relational_join_rewrite::RelationalJoinRewriteStep;
pub use relational_join_rewrite::RelationalJoinTree;
pub use relational_planning::RelationalJoinPlanningAttempt;
pub use relational_planning::RelationalJoinPlanningBudget;
pub use relational_planning::RelationalJoinPlanningCost;
pub use relational_planning::RelationalJoinPlanningDirective;
pub use relational_planning::RelationalJoinPlanningFallbackClass;
pub use relational_planning::RelationalJoinPlanningOutcome;
pub use relational_planning::RelationalJoinPlanningReason;
pub use relational_planning::RelationalJoinPlanningStatus;
pub use relational_planning::RelationalJoinPlanningStrategy;
pub use relational_profile::RelationalOperatorCardinalityProfile;
pub use relational_profile::RelationalOperatorId;
pub use relational_profile::RelationalOperatorKind;
pub use search::OptimizationSearchReport;
pub use search::SelectedPlanTrace;
pub use trace::OperatorCardinalityEstimate;
pub use trace::OptimizerConfig;
pub use trace::OptimizerTrace;
pub use vector::select_adaptive_vector_backend;
pub use vector::validate_vector_pipeline;
pub use vector::AdaptiveVectorBackend;
pub use vector::AdaptiveVectorBackendDecision;
pub use vector::AdaptiveVectorBackendInput;
pub use vector::AdaptiveVectorBackendPolicy;
pub use vector::PlannedVectorSearch;
pub use vector::VectorCompressionPreference;
pub use vector::VectorPlanError;
pub use vector::VectorPlanProperties;

Modules§

context
cost
graph
logical
Logical optimizer operator metadata.
memo
operator
Compatibility re-exports for optimizer operator metadata.
predicate
properties
relational
relational_join
Relational inner-join graph contracts and validation.
relational_join_hypergraph
Hypergraph csg-cmp enumeration for bound relational join operators.
relational_join_rewrite
CD-C legality analysis and memo-backed join rewrite enumeration.
relational_planning
relational_profile
relational_sargability
Extracts index-compatible constraints without binding values or accessing storage.
rule
search
stage
trace
vector

Structs§

AppliedRule
FastPathPhysicalPhase
GroupId
LogicalPhase
LogicalPlanRoot
LoweringReadyLogicalPlanRoot
LoweringReadyPhase
Memo
MemoGroup
OptimizationPipeline
OptimizationStage
PhysicalOperatorId
A plan-local physical operator identity assigned in pre-order.
PhysicalPhase
PhysicalProperties
PipelineExecution
PlanCost
PlanCostBreakdown
Cardinality and unweighted logical work, plus the weighted scalar total.
RequiredProperties
RuleApplication
RuleBatch
RuleEvent
RuleId
RulePromise
RuleStage
StageRuleBatch
StageStats
StageTrace

Enums§

ApplyOrder
Distribution
MemoryBudgetClass
OptimizerSearchDirective
OptimizerSearchDirectiveError
PhysicalPlanClass
PhysicalPlanKind
PlanChildren
PlanPhaseKind
RelationalJoinCardinality
RelationalJoinRightInput
RelationalJoinSelectivity
RuleKind
RuleOutcome
ScanPruningSupport
SearchMode
VectorPrecision

Traits§

OptimizerRule
PhysicalPlanNode
PlanNode
PlanPhase

Functions§

apply_rule_batch
estimate_relational_access_cost
estimate_relational_access_path_cost
Estimates logical work for a validated access descriptor.
estimate_relational_join_cost
estimate_relational_probe_join_cost
Extends a left-deep plan with one probe join using the canonical relational cost model.
plan_class_counts
plan_operator_counts
visit_plan
visit_plan_with_ids
Visits a physical plan in pre-order and assigns each operator its plan-local identity.