pub enum WriteMergeMode {
Safe,
LabUnsafe,
}Expand description
Selects the commit-path safety regime.
Safe (the default) always runs the full Cahill/Fekete SSI
validation for every BEGIN CONCURRENT commit. LabUnsafe
activates research-grade optimisations — currently the
SsiEProcessGate skip-path — that trade a bounded-probability
increase in potentially-missed SSI conflicts for commit-path
throughput. LabUnsafe is configured via
PRAGMA fsqlite.write_merge = LAB_UNSAFE and emits a startup
warning the first time it is activated on a connection.
Variants§
Safe
Full SSI every commit. This is the only production-safe mode.
LabUnsafe
Research-grade skip path gated by an anytime-valid e-process.
See SsiEProcessGate in fsqlite-mvcc for the mathematical
form and safety argument.
Trait Implementations§
Source§impl Clone for WriteMergeMode
impl Clone for WriteMergeMode
Source§fn clone(&self) -> WriteMergeMode
fn clone(&self) -> WriteMergeMode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for WriteMergeMode
Source§impl Debug for WriteMergeMode
impl Debug for WriteMergeMode
Source§impl Default for WriteMergeMode
impl Default for WriteMergeMode
Source§fn default() -> WriteMergeMode
fn default() -> WriteMergeMode
Returns the “default value” for a type. Read more
impl Eq for WriteMergeMode
Source§impl PartialEq for WriteMergeMode
impl PartialEq for WriteMergeMode
Source§fn eq(&self, other: &WriteMergeMode) -> bool
fn eq(&self, other: &WriteMergeMode) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for WriteMergeMode
Auto Trait Implementations§
impl Freeze for WriteMergeMode
impl RefUnwindSafe for WriteMergeMode
impl Send for WriteMergeMode
impl Sync for WriteMergeMode
impl Unpin for WriteMergeMode
impl UnsafeUnpin for WriteMergeMode
impl UnwindSafe for WriteMergeMode
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
Mutably borrows from an owned value. Read more
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).