pub enum StatusOutcome {
Agrees {
rows_checked: u64,
},
Disagrees {
detail: String,
},
}Expand description
Whether each transaction’s mutable status column still agrees with the
newest status_* event chained for it.
ChainContent does not sign status, deliberately: the chain protects the
authorisation decision captured at insert, not the live execution state. The
consequence was that anyone who could UPDATE the transactions table could
rewrite a completed job as canceled and every check still reported Intact.
The outcome is an event now, and this is the comparison that uses it.
Variants§
Agrees
Every row’s status column matches its newest chained status event.
Disagrees
At least one row disagrees. detail names the transactions.
Trait Implementations§
Source§impl Clone for StatusOutcome
impl Clone for StatusOutcome
Source§impl Debug for StatusOutcome
impl Debug for StatusOutcome
Source§impl<'de> Deserialize<'de> for StatusOutcome
impl<'de> Deserialize<'de> for StatusOutcome
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for StatusOutcome
Source§impl PartialEq for StatusOutcome
impl PartialEq for StatusOutcome
Source§impl Serialize for StatusOutcome
impl Serialize for StatusOutcome
impl StructuralPartialEq for StatusOutcome
Auto Trait Implementations§
impl Freeze for StatusOutcome
impl RefUnwindSafe for StatusOutcome
impl Send for StatusOutcome
impl Sync for StatusOutcome
impl Unpin for StatusOutcome
impl UnsafeUnpin for StatusOutcome
impl UnwindSafe for StatusOutcome
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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 more