ckb_rocksdb/ops/
transaction.rs

1use crate::Transaction;
2
3pub trait TransactionBegin: Sized {
4    type WriteOptions: Default;
5    type TransactionOptions: Default;
6    fn transaction(
7        &self,
8        write_options: &<Self as TransactionBegin>::WriteOptions,
9        tx_options: &<Self as TransactionBegin>::TransactionOptions,
10    ) -> Transaction<'_, Self>;
11
12    /// Begins a new optimistic transaction with default options.
13    fn transaction_default(&self) -> Transaction<'_, Self> {
14        let write_options = Self::WriteOptions::default();
15        let transaction_options = Self::TransactionOptions::default();
16        self.transaction(&write_options, &transaction_options)
17    }
18}