Skip to main content

LossCause

Enum LossCause 

Source
pub enum LossCause {
    Write(WriteId),
    Rules(BTreeSet<Rule>),
    Excluded {
        write: WriteId,
        version: u32,
    },
    Dependency {
        write: WriteId,
        sources: Vec<ChangeId>,
    },
    NotAuthorized {
        write: WriteId,
        reason: AuthorizationFailure,
    },
}
Expand description

The replacing write, removal rules, or boundary that excluded a write.

Variants§

§

Write(WriteId)

A replacing write that had not read the lost setter.

§

Rules(BTreeSet<Rule>)

Every rule holding when the row was removed.

§

Excluded

A breaking schema change that excluded the write, or whose migration write deleted a hidden row. Resets create no losses (§19.4).

Fields

§write: WriteId

The excluded write, including deletions with no retained cells.

§version: u32

The schema version reached by the breaking change.

§

Dependency

An admitted row change that used data which does not survive (§9.5): its generation source, a cell setter it replaced, a source its operations used, or a foreign-key cause in its own write.

Fields

§write: WriteId

The write whose row change this is, even for an empty delete.

§sources: Vec<ChangeId>

Failed sources in role order, with repeats: generation, replaced setters, additional execution sources, then foreign-key causes.

§

NotAuthorized

A member’s row change without permission: a direct change of another member’s owned row, or a foreign-key effect the receiver could not derive exactly from an authorized direct change (§9.6).

Fields

§write: WriteId

The write whose row change this is, even for an empty delete.

§reason: AuthorizationFailure

Why the change was refused.

Implementations§

Source§

impl LossCause

Source

pub fn change_write(&self) -> Option<WriteId>

The original change’s own write, for a frozen change loss.

Source

pub fn freezes_change(&self) -> bool

A frozen original row change: excluded, dependent or unauthorized.

Trait Implementations§

Source§

impl Clone for LossCause

Source§

fn clone(&self) -> LossCause

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LossCause

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LossCause

Source§

fn eq(&self, other: &LossCause) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for LossCause

Source§

impl StructuralPartialEq for LossCause

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,