#[non_exhaustive]pub enum PrepareOutcome {
NoOp,
Applied {
description: String,
},
}Expand description
Outcome of an EngineBackend::prepare
call — one-time backend-specific boot preparation.
Issue #281: moves cairn’s ensure_library retry loop upstream so
consumers can boot any backend uniformly via
backend.prepare().await? without knowing whether it is Valkey
(FUNCTION LOAD) or Postgres (migrations are out-of-band per
RFC-v0.7 Wave 0 Q12, so NoOp). #[non_exhaustive] so future
backends can add variants (e.g. Skipped { reason }) additively.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NoOp
Backend had nothing to do — either genuinely no-op (Postgres:
migrations applied out-of-band) or the requested prep work was
already in place and idempotent (Valkey: library already at
the expected version; the Valkey impl collapses the
“already-present” case into Applied to keep one success
variant — consumers that want to distinguish can parse
description).
Applied
Backend ran preparation work (e.g. Valkey FUNCTION LOAD
REPLACE). description is a human-readable summary suitable
for info!-level log lines like
"FUNCTION LOAD (flowfabric lib v<N>)"; shape is not
machine-parseable and MAY change across versions.
Implementations§
Trait Implementations§
Source§impl Clone for PrepareOutcome
impl Clone for PrepareOutcome
Source§fn clone(&self) -> PrepareOutcome
fn clone(&self) -> PrepareOutcome
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more