pub struct PlanningPolicy {
pub keyed_hash_join: KeyedHashJoinStrategyOptions,
pub dynamic_filter: DynamicFilterExecutionOptions,
}Expand description
Thresholds applied during plan optimization, admission, and execution.
The policy accompanies the AnalysisContext
across planning passes and is captured in the resulting admission artifact
rather than embedded directly in plan IR. This separation allows plan IR
fingerprints to remain invariant to policy adjustments while recording the
active policy in the admitted artifact. The type implements Copy because
passes receive it by value without shared state.
Fields§
§keyed_hash_join: KeyedHashJoinStrategyOptionsKeyed-hash join strategy thresholds.
dynamic_filter: DynamicFilterExecutionOptionsDynamic-filter route and application thresholds.
Implementations§
Source§impl PlanningPolicy
impl PlanningPolicy
Sourcepub fn validate(&self) -> Result<(), QueryError>
pub fn validate(&self) -> Result<(), QueryError>
Rejects thresholds the optimizer and the engine cannot honor.
Each component policy validates its own ordering constraints and reports the first failure with the field names in its facts. Zero is accepted everywhere as “branch disabled”; see the component docs.
Trait Implementations§
Source§impl Clone for PlanningPolicy
impl Clone for PlanningPolicy
Source§fn clone(&self) -> PlanningPolicy
fn clone(&self) -> PlanningPolicy
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PlanningPolicy
Source§impl Debug for PlanningPolicy
impl Debug for PlanningPolicy
Source§impl Default for PlanningPolicy
impl Default for PlanningPolicy
Source§fn default() -> PlanningPolicy
fn default() -> PlanningPolicy
impl Eq for PlanningPolicy
Source§impl PartialEq for PlanningPolicy
impl PartialEq for PlanningPolicy
impl StructuralPartialEq for PlanningPolicy
Auto Trait Implementations§
impl Freeze for PlanningPolicy
impl RefUnwindSafe for PlanningPolicy
impl Send for PlanningPolicy
impl Sync for PlanningPolicy
impl Unpin for PlanningPolicy
impl UnsafeUnpin for PlanningPolicy
impl UnwindSafe for PlanningPolicy
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request