Skip to main content

AutoCommitBatchOps

Trait AutoCommitBatchOps 

Source
pub trait AutoCommitBatchOps: Send + Sync {
    // Required methods
    fn begin_auto_commit_batch(
        &self,
    ) -> Result<Arc<AutoCommitBatchWindow>, StorageError>;
    fn bind_auto_commit_statement(
        &self,
        window: &Arc<AutoCommitBatchWindow>,
    ) -> Result<Self, StorageError>
       where Self: Sized;
    fn finalize_auto_commit_batch(
        &self,
        window: &AutoCommitBatchWindow,
    ) -> Result<(), StorageError>;

    // Provided method
    fn bind_auto_commit_writer(
        &self,
        _window: &Arc<AutoCommitBatchWindow>,
    ) -> Result<Box<dyn StorageWriter + '_>, StorageError> { ... }
}
Expand description

Operations for running a run of auto-commit DML statements inside a shared batch window.

Required Methods§

Provided Methods§

Source

fn bind_auto_commit_writer( &self, _window: &Arc<AutoCommitBatchWindow>, ) -> Result<Box<dyn StorageWriter + '_>, StorageError>

Object-safe variant of Self::bind_auto_commit_statement: returns the bound statement storage as a boxed crate::StorageWriter carrying the window’s operation context (shared undo log in group mode), so writers behind a dyn QueryStorage handle can join the window. The default implementation is not_supported.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§