pub struct DispatchPlan {
pub primary: IndexFamily,
pub primary_cost: f64,
pub primary_recall: f32,
pub fallbacks: Vec<CostEstimate>,
pub workload: WorkloadProfile,
}Expand description
Output of OptimizerDispatcher::pick_plan: a primary + ordered fallbacks.
Fields§
§primary: IndexFamilyPrimary family the dispatcher recommends.
primary_cost: f64Predicted cost of the primary in abstract units.
primary_recall: f32Predicted recall of the primary in [0.0, 1.0].
fallbacks: Vec<CostEstimate>Ordered fallback chain — try in order if recall trips threshold.
workload: WorkloadProfileSnapshot of the workload that produced this plan.
Implementations§
Source§impl DispatchPlan
impl DispatchPlan
Sourcepub fn has_fallback(&self) -> bool
pub fn has_fallback(&self) -> bool
true if the plan has at least one fallback to try.
Sourcepub fn fallback_at(&self, idx: usize) -> Option<IndexFamily>
pub fn fallback_at(&self, idx: usize) -> Option<IndexFamily>
Return the family at fallback position idx, or None if exhausted.
Trait Implementations§
Source§impl Clone for DispatchPlan
impl Clone for DispatchPlan
Source§fn clone(&self) -> DispatchPlan
fn clone(&self) -> DispatchPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DispatchPlan
impl Debug for DispatchPlan
Source§impl PartialEq for DispatchPlan
impl PartialEq for DispatchPlan
Source§fn eq(&self, other: &DispatchPlan) -> bool
fn eq(&self, other: &DispatchPlan) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for DispatchPlan
Auto Trait Implementations§
impl Freeze for DispatchPlan
impl RefUnwindSafe for DispatchPlan
impl Send for DispatchPlan
impl Sync for DispatchPlan
impl Unpin for DispatchPlan
impl UnsafeUnpin for DispatchPlan
impl UnwindSafe for DispatchPlan
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
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>
Converts
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>
Converts
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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.