Struct rocksdb::TransactionOptions
source · pub struct TransactionOptions { /* private fields */ }
Implementations§
source§impl TransactionOptions
impl TransactionOptions
pub fn new() -> TransactionOptions
pub fn set_skip_prepare(&mut self, skip_prepare: bool)
sourcepub fn set_snapshot(&mut self, snapshot: bool)
pub fn set_snapshot(&mut self, snapshot: bool)
Specifies use snapshot or not.
Default: false.
If a transaction has a snapshot set, the transaction will ensure that
any keys successfully written(or fetched via get_for_update
) have not
been modified outside this transaction since the time the snapshot was
set.
If a snapshot has not been set, the transaction guarantees that keys have
not been modified since the time each key was first written (or fetched via
get_for_update
).
Using snapshot will provide stricter isolation guarantees at the expense of potentially more transaction failures due to conflicts with other writes.
Calling set_snapshot
will not affect the version of Data returned by get
methods.
sourcepub fn set_deadlock_detect(&mut self, deadlock_detect: bool)
pub fn set_deadlock_detect(&mut self, deadlock_detect: bool)
Specifies whether detect deadlock or not.
Setting to true means that before acquiring locks, this transaction will check if doing so will cause a deadlock. If so, it will return with Status::Busy. The user should retry their transaction.
Default: false.
sourcepub fn set_lock_timeout(&mut self, lock_timeout: i64)
pub fn set_lock_timeout(&mut self, lock_timeout: i64)
Specifies the wait timeout in milliseconds when a transaction attempts to lock a key.
If 0, no waiting is done if a lock cannot instantly be acquired.
If negative, transaction lock timeout in TransactionDBOptions
will be used.
Default: -1.
sourcepub fn set_expiration(&mut self, expiration: i64)
pub fn set_expiration(&mut self, expiration: i64)
Specifies expiration duration in milliseconds.
If non-negative, transactions that last longer than this many milliseconds will fail to commit. If not set, a forgotten transaction that is never committed, rolled back, or deleted will never relinquish any locks it holds. This could prevent keys from being by other writers.
Default: -1.
sourcepub fn set_deadlock_detect_depth(&mut self, depth: i64)
pub fn set_deadlock_detect_depth(&mut self, depth: i64)
Specifies the number of traversals to make during deadlock detection.
Default: 50.
sourcepub fn set_max_write_batch_size(&mut self, size: usize)
pub fn set_max_write_batch_size(&mut self, size: usize)
Specifies the maximum number of bytes used for the write batch. 0 means no limit.
Default: 0.