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§
fn establish_serializable_snapshot( &self, ) -> StorageBackendResult<SerializableReadContext>
Sourcefn establish_serializable_snapshot_with(
&self,
options: SerializableSnapshotOptions,
capture: &mut SerializableSnapshotCapture<'_>,
) -> StorageBackendResult<SerializableReadContext>
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.
fn serializable_read_context( &self, ) -> StorageBackendResult<Option<SerializableReadContext>>
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".