Skip to main content

AutoCommitGroupOps

Trait AutoCommitGroupOps 

Source
pub trait AutoCommitGroupOps: Send + Sync {
    // Required methods
    fn begin_auto_commit_group(
        &self,
    ) -> Result<Arc<AutoCommitBatchWindow>, StorageError>;
    fn finalize_auto_commit_group(
        &self,
        window: &AutoCommitBatchWindow,
    ) -> Result<(), StorageError>;

    // Provided method
    fn rollback_auto_commit_group(
        &self,
        _window: &AutoCommitBatchWindow,
    ) -> Result<(), StorageError> { ... }
}
Expand description

Group-commit operations on top of an AutoCommitBatchWindow. The window is shared with AutoCommitBatchOps; bind_auto_commit_statement is mode-aware: bound inside a group window it reuses the shared write timestamp and undo log, so no separate bind method is needed.

Required Methods§

Source

fn begin_auto_commit_group( &self, ) -> Result<Arc<AutoCommitBatchWindow>, StorageError>

Open a group window (gate + shared snapshots + shared write timestamp).

Source

fn finalize_auto_commit_group( &self, window: &AutoCommitBatchWindow, ) -> Result<(), StorageError>

Single group commit point: one fsync, barrier advance, one ts commit.

Provided Methods§

Source

fn rollback_auto_commit_group( &self, _window: &AutoCommitBatchWindow, ) -> Result<(), StorageError>

Roll back every statement bound to this group via its shared undo log, then release the window’s snapshots and gate. Default: not supported.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§