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
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
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
reason: AuthorizationFailureWhy the change was refused.
Implementations§
Source§impl LossCause
impl LossCause
Sourcepub fn change_write(&self) -> Option<WriteId>
pub fn change_write(&self) -> Option<WriteId>
The original change’s own write, for a frozen change loss.
Sourcepub fn freezes_change(&self) -> bool
pub fn freezes_change(&self) -> bool
A frozen original row change: excluded, dependent or unauthorized.