pub enum Op {
Put(Vec<u8>, Vec<u8>),
Del(Vec<u8>),
Set(Vec<u8>, Vec<u8>),
Purge(Vec<u8>),
}Expand description
Operation emitted into the atomic publish set.
Variants§
Put(Vec<u8>, Vec<u8>)
Insert or overwrite a key, retaining the superseded value as history.
Del(Vec<u8>)
Remove a key, retaining the removed value as history.
Set(Vec<u8>, Vec<u8>)
Overwrite a key without retaining a superseded version (and drop any history already accumulated for it). Used for internal bookkeeping keys whose values are not part of user-visible time travel: counters, allocation watermarks, degree counters, the label catalog and the commit watermark. Without this, every overwrite of a hot counter rewrites its whole history vector, which is quadratic in the number of writes.
Purge(Vec<u8>)
Erase a key together with its current-value MVCC metadata and retained history, without appending a new version. Destructive by design: used by tenant purge, where the values are intentionally destroyed and keeping versions for them would bloat storage without bound.
Implementations§
Trait Implementations§
impl Eq for Op
impl StructuralPartialEq for Op
Auto Trait Implementations§
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnsafeUnpin for Op
impl UnwindSafe for Op
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key and return true if they are equal.