Skip to main content

SerializableSession

Trait SerializableSession 

Source
pub trait SerializableSession: Send + Sync {
    // Required methods
    fn establish_serializable_snapshot(
        &self,
    ) -> StorageBackendResult<SerializableReadContext>;
    fn establish_serializable_snapshot_with(
        &self,
        options: SerializableSnapshotOptions,
        capture: &mut SerializableSnapshotCapture<'_>,
    ) -> StorageBackendResult<SerializableReadContext>;
    fn serializable_read_context(
        &self,
    ) -> StorageBackendResult<Option<SerializableReadContext>>;
    fn observe_serializable_write(
        &self,
        predicate: SerializablePredicate<'_>,
    ) -> StorageBackendResult<()>;
}
Expand description

Logical SSI capabilities of one original or retained storage session. Providers forward this boundary without deriving predicates from physical record keys. SQL must cover its access paths before enabling automatic admission.

Required Methods§

Source

fn establish_serializable_snapshot( &self, ) -> StorageBackendResult<SerializableReadContext>

Source

fn establish_serializable_snapshot_with( &self, options: SerializableSnapshotOptions, capture: &mut SerializableSnapshotCapture<'_>, ) -> StorageBackendResult<SerializableReadContext>

Select the first snapshot using logical characteristics and a caller-scoped capture. Existing participants retain their original classification without another capture. Only read-only deferrable admission waits for a proven safe snapshot.

Source

fn serializable_read_context( &self, ) -> StorageBackendResult<Option<SerializableReadContext>>

Source

fn observe_serializable_write( &self, predicate: SerializablePredicate<'_>, ) -> StorageBackendResult<()>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§