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§
Sourcefn begin_auto_commit_group(
&self,
) -> Result<Arc<AutoCommitBatchWindow>, StorageError>
fn begin_auto_commit_group( &self, ) -> Result<Arc<AutoCommitBatchWindow>, StorageError>
Open a group window (gate + shared snapshots + shared write timestamp).
Sourcefn finalize_auto_commit_group(
&self,
window: &AutoCommitBatchWindow,
) -> Result<(), StorageError>
fn finalize_auto_commit_group( &self, window: &AutoCommitBatchWindow, ) -> Result<(), StorageError>
Single group commit point: one fsync, barrier advance, one ts commit.
Provided Methods§
Sourcefn rollback_auto_commit_group(
&self,
_window: &AutoCommitBatchWindow,
) -> Result<(), StorageError>
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".