pub struct Plan { /* private fields */ }Expand description
A reproducible operation plan.
Carries the options every step runs under and the provenance of the steps taken so far. Re-executing the same plan against the same inputs must produce the same result; the recorded steps are the evidence of what ran.
Implementations§
Source§impl Plan
impl Plan
Sourcepub fn new(options: ExecutionOptions) -> Self
pub fn new(options: ExecutionOptions) -> Self
Start a plan from the options every step will run under.
Sourcepub fn options(&self) -> &ExecutionOptions
pub fn options(&self) -> &ExecutionOptions
Options every step of this plan runs under.
Source§impl Plan
impl Plan
Sourcepub fn admit(
&mut self,
step: PlanStep,
scratch: ScratchRequirement,
elements: usize,
) -> GeomResult<()>
pub fn admit( &mut self, step: PlanStep, scratch: ScratchRequirement, elements: usize, ) -> GeomResult<()>
Admit and record a step, or refuse it.
Two admissions, both fail-closed:
- The provider’s
guaranteeddeterminism must be at least the level the plan requested. A provider that cannot meet the request is refused rather than silently downgraded, because the caller has no other way to learn the guarantee it relied on was not delivered. - The step’s scratch requirement must fit the plan’s memory budget.
Exhaustion is a typed
BudgetExceeded, never a silent truncation to a smaller result that still looks plausible.
Trait Implementations§
impl StructuralPartialEq for Plan
Auto Trait Implementations§
impl Freeze for Plan
impl RefUnwindSafe for Plan
impl Send for Plan
impl Sync for Plan
impl Unpin for Plan
impl UnwindSafe for Plan
Blanket Implementations§
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