pub enum ExecDepth {
Phase,
Dispenser,
Op,
Cycle,
Full,
}Expand description
Run a workload. Adapters are discovered from link-time inventory registrations — the calling binary just needs to link the adapter crates it wants available. Execution depth: how far through the pipeline to go.
Ordering (shallowest → deepest):
Phase < Dispenser < Op < Cycle < Full.
PartialOrd/Ord follow this ordering so depth-gating
sites can write ctx.diag.depth >= ExecDepth::Cycle etc.
Variants§
Phase
Compile scope-level kernels, stop before op-template
kernels / adapter map_op / metric instruments. No
adapters created.
Dispenser
dryrun=dispenser: phase walk + every op template’s
dispenser is constructed (adapter map_op fires; the
wrapper plan resolves and wraps; the cursor source
factory is built). NO cycles run. This is the
construction-time inspection level: catches map_op
failures (bad prepared statement, schema mismatch),
wrapper-resolver violations, source-factory init
errors — without paying any per-cycle cost. Distinct
from Phase (which builds NO dispensers) and Op
(which runs full cycles with the wrapper short-
circuit).
Op
dryrun=op: phase walk + dispenser construction +
per-cycle wrapper-stack execution. The DRYRUN wrapper
short-circuits the inner adapter execute(); every
other layer (bind-point eval, wrapper pulls, metric
timing) runs faithfully. The auto-bump in the runner
lifts Op to Cycle so the cycle loop actually
dispatches.
Cycle
Run cycles with dry-run adapter.
Full
Normal execution.
Trait Implementations§
impl Copy for ExecDepth
impl Eq for ExecDepth
Source§impl Ord for ExecDepth
impl Ord for ExecDepth
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for ExecDepth
impl PartialOrd for ExecDepth
impl StructuralPartialEq for ExecDepth
Auto Trait Implementations§
impl Freeze for ExecDepth
impl RefUnwindSafe for ExecDepth
impl Send for ExecDepth
impl Sync for ExecDepth
impl Unpin for ExecDepth
impl UnsafeUnpin for ExecDepth
impl UnwindSafe for ExecDepth
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
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,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
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<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<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 more