Skip to main content

MergeError

Enum MergeError 

Source
pub enum MergeError {
Show 21 variants MillisecondsOutOfRange(u64), TimestampExhausted, GenerationExhausted, GenerationParity(u64), GenerationNotSeen { row: RowId, generation: u64, }, GenerationAhead { row: RowId, }, MissingWrite(WriteId), DuplicateWrite(WriteId), DuplicateTimestamp(WriteId, WriteId), CausalTimestamp(WriteId), CausalClosure(WriteId), TimestampDevice(WriteId), MissingChange(RowId), ParentGeneration(u64), ReferenceAudience(RowId), DuplicateRow(RowId), GenerationGap(u64), GenerationTimestamp(u64), DeletedRowHasCells, CellBeforeIncarnation(String), InvalidLostValue(LostKey),
}
Expand description

Invalid input to the pure merge; no partially changed state is returned.

Variants§

§

MillisecondsOutOfRange(u64)

Milliseconds do not fit in the timestamp’s 48 bits.

§

TimestampExhausted

The final millisecond and counter have both been used.

§

GenerationExhausted

Advancing a generation would exceed its representation.

§

GenerationParity(u64)

An insert was not made at an even generation, or an edit/delete at an odd one.

§

GenerationNotSeen

No write the author had read moved this row to the specified generation.

Fields

§row: RowId

The row, including its audience.

§generation: u64

The generation the change was made at.

§

GenerationAhead

Causality has not brought the receiving row to this generation.

Fields

§row: RowId

The receiving row.

§

MissingWrite(WriteId)

A required write is missing from the applied set.

§

DuplicateWrite(WriteId)

A write occurs twice in the input or has already been applied.

§

DuplicateTimestamp(WriteId, WriteId)

Two different writes have equal timestamps.

§

CausalTimestamp(WriteId)

A timestamp is not larger than that of a write its author had read.

§

CausalClosure(WriteId)

A write’s recorded past omits a predecessor of a write it had read: its read_through is below that of its device’s last landed write.

§

TimestampDevice(WriteId)

The timestamp’s device is different from the write’s device.

§

MissingChange(RowId)

A write’s row changes do not include the row passed to apply.

§

ParentGeneration(u64)

A parent generation must name an existing incarnation, an odd generation.

§

ReferenceAudience(RowId)

A reference reaches an audience some readers of the child cannot read.

§

DuplicateRow(RowId)

The removal view listed a row more than once.

§

GenerationGap(u64)

Stored generations must be contiguous from one through the current one.

§

GenerationTimestamp(u64)

Each generation must be stamped after the preceding generation.

§

DeletedRowHasCells

A deleted row cannot retain winning cells.

§

CellBeforeIncarnation(String)

A cell’s setter cannot precede the start of its incarnation.

§

InvalidLostValue(LostKey)

A lost record has an invalid incarnation or canonical replacer.

Trait Implementations§

Source§

impl Clone for MergeError

Source§

fn clone(&self) -> MergeError

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 MergeError

Source§

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

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

impl Display for MergeError

Source§

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

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

impl Error for MergeError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl PartialEq for MergeError

Source§

fn eq(&self, other: &MergeError) -> 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 MergeError

Source§

impl StructuralPartialEq for MergeError

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
§

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

§

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

Compare self to key and return true if they are equal.
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

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

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,