pub enum AtomicRunOutcome {
Committed {
post_commit: Vec<PostCommitEffect>,
},
RolledBack {
failed_op_index: usize,
failure: AtomicOpFailure,
},
}Expand description
The whole-unit outcome of a completed run_atomic_unit call — the
commit pass ran to a clean, distinguishable verdict (never returned for
a seam-level failure; see AtomicRunnerError for that case).
Variants§
Committed
Every op’s plan applied and the unit committed. Carries every op’s
deferred post-commit effect, in op order. Draining this list
(running the actual reindex/embedding side effects) is phase 3 of
ADR-099 D1 and is out of scope for B2 — the B3 wiring point: a
production caller runs these after run_atomic_unit returns, outside
any transaction; a test caller in this file only asserts on the
list’s contents.
Fields
post_commit: Vec<PostCommitEffect>RolledBack
The op at failed_op_index failed; the whole unit rolled back
(ADR-099 D1: “the whole unit rolls back and the failing op index is
recorded”). No op’s writes are present in the database after this
outcome — including any earlier op whose own SAVEPOINT had already
been RELEASEd, because RELEASE only merges a savepoint’s changes
into its parent transaction; it does not commit them independently
of the outer atomic_unit transaction’s own COMMIT/ROLLBACK.
Trait Implementations§
Source§impl Clone for AtomicRunOutcome
impl Clone for AtomicRunOutcome
Source§fn clone(&self) -> AtomicRunOutcome
fn clone(&self) -> AtomicRunOutcome
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AtomicRunOutcome
impl Debug for AtomicRunOutcome
impl Eq for AtomicRunOutcome
Source§impl PartialEq for AtomicRunOutcome
impl PartialEq for AtomicRunOutcome
impl StructuralPartialEq for AtomicRunOutcome
Auto Trait Implementations§
impl Freeze for AtomicRunOutcome
impl RefUnwindSafe for AtomicRunOutcome
impl Send for AtomicRunOutcome
impl Sync for AtomicRunOutcome
impl Unpin for AtomicRunOutcome
impl UnsafeUnpin for AtomicRunOutcome
impl UnwindSafe for AtomicRunOutcome
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> 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.