Struct rocksdb::TransactionOptions

source ·
pub struct TransactionOptions { /* private fields */ }

Implementations§

source§

impl TransactionOptions

source

pub fn new() -> TransactionOptions

source

pub fn set_skip_prepare(&mut self, skip_prepare: bool)

source

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.

source

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.

source

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.

source

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.

source

pub fn set_deadlock_detect_depth(&mut self, depth: i64)

Specifies the number of traversals to make during deadlock detection.

Default: 50.

source

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.

Trait Implementations§

source§

impl Default for TransactionOptions

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Drop for TransactionOptions

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl Send for TransactionOptions

source§

impl Sync for TransactionOptions

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.