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
GenerationAhead
Causality has not brought the receiving row to this generation.
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
impl Clone for MergeError
Source§fn clone(&self) -> MergeError
fn clone(&self) -> MergeError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more