Struct fdb::transaction::FdbTransaction
source · [−]pub struct FdbTransaction { /* private fields */ }
Expand description
A handle to a FDB transaction.
create_transaction
method on FdbDatabase
can be used to
create a FdbTransaction
.
Implementations
sourceimpl FdbTransaction
impl FdbTransaction
sourcepub fn snapshot(&self) -> FdbReadTransaction
pub fn snapshot(&self) -> FdbReadTransaction
Return a special-purpose, read-only view of the database
(FdbReadTransaction
). Reads done using snapshot
are
known as snapshot reads. Snapshot reads selectively relax
FDB’s isolation property, reducing transaction conflicts but
making reasoning about concurrency harder.
For more information about how to use snapshot reads correctly, see snapshot reads.
sourcepub async unsafe fn run<T, F, Fut>(&self, f: F) -> FdbResult<T> where
F: FnMut(FdbTransaction) -> Fut,
Fut: Future<Output = FdbResult<T>>,
pub async unsafe fn run<T, F, Fut>(&self, f: F) -> FdbResult<T> where
F: FnMut(FdbTransaction) -> Fut,
Fut: Future<Output = FdbResult<T>>,
Runs a closure in the context of this FdbTransaction
.
Safety
You should not use this API. It exists to support binding tester.
sourcepub async unsafe fn read<T, F, Fut>(&self, f: F) -> FdbResult<T> where
F: FnMut(FdbTransaction) -> Fut,
Fut: Future<Output = FdbResult<T>>,
pub async unsafe fn read<T, F, Fut>(&self, f: F) -> FdbResult<T> where
F: FnMut(FdbTransaction) -> Fut,
Fut: Future<Output = FdbResult<T>>,
Runs a closure in the context of FdbReadTransaction
,
derived from FdbTransaction
.
Safety
You should not use this API. It exists to support binding tester.
Trait Implementations
sourceimpl Clone for FdbTransaction
impl Clone for FdbTransaction
sourcefn clone(&self) -> FdbTransaction
fn clone(&self) -> FdbTransaction
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for FdbTransaction
impl Debug for FdbTransaction
sourceimpl Drop for FdbTransaction
impl Drop for FdbTransaction
sourceimpl ReadTransaction for FdbTransaction
impl ReadTransaction for FdbTransaction
sourceunsafe fn on_error(&self, e: FdbError) -> FdbFutureUnit
unsafe fn on_error(&self, e: FdbError) -> FdbFutureUnit
Determines whether an error returned by a Transaction
or ReadTransaction
method is retryable. Waiting on the returned future will
return the same error when fatal, or return ()
for retryable
errors. Read more
sourcefn get(&self, key: impl Into<Key>) -> FdbFutureMaybeValue
fn get(&self, key: impl Into<Key>) -> FdbFutureMaybeValue
Gets a value from the database. Read more
sourcefn get_addresses_for_key(&self, key: impl Into<Key>) -> FdbFutureCStringArray
fn get_addresses_for_key(&self, key: impl Into<Key>) -> FdbFutureCStringArray
sourcefn get_estimated_range_size_bytes(&self, range: Range) -> FdbFutureI64
fn get_estimated_range_size_bytes(&self, range: Range) -> FdbFutureI64
Gets an estimate for the number of bytes stored in the given range. Read more
sourcefn get_key(&self, selector: KeySelector) -> FdbFutureKey
fn get_key(&self, selector: KeySelector) -> FdbFutureKey
Returns the key referenced by the specificed KeySelector
. Read more
sourcefn get_mapped_range(
&self,
begin: KeySelector,
end: KeySelector,
mapper: impl Into<Mapper>,
options: RangeOptions
) -> FdbStreamMappedKeyValue
fn get_mapped_range(
&self,
begin: KeySelector,
end: KeySelector,
mapper: impl Into<Mapper>,
options: RangeOptions
) -> FdbStreamMappedKeyValue
WARNING: This feature is considered experimental at this time. Read more
sourcefn get_range(
&self,
begin: KeySelector,
end: KeySelector,
options: RangeOptions
) -> FdbStreamKeyValue
fn get_range(
&self,
begin: KeySelector,
end: KeySelector,
options: RangeOptions
) -> FdbStreamKeyValue
Gets an ordered range of keys and values from the database. Read more
sourcefn get_range_split_points(
&self,
begin: impl Into<Key>,
end: impl Into<Key>,
chunk_size: i64
) -> FdbFutureKeyArray
fn get_range_split_points(
&self,
begin: impl Into<Key>,
end: impl Into<Key>,
chunk_size: i64
) -> FdbFutureKeyArray
Gets a list of keys that can split the given range into
(roughly) equally sized chunks based on chunk_size
. Read more
sourceunsafe fn get_read_version(&self) -> FdbFutureI64
unsafe fn get_read_version(&self) -> FdbFutureI64
Gets the version at which the reads for this Transaction
or ReadTransaction
will access the database. Read more
sourcefn set_option(&self, option: TransactionOption) -> FdbResult<()>
fn set_option(&self, option: TransactionOption) -> FdbResult<()>
Set options on a Transaction
or ReadTransaction
Read more
sourceunsafe fn set_read_version(&self, version: i64)
unsafe fn set_read_version(&self, version: i64)
Directly sets the version of the database at which to execute reads. Read more
sourceimpl Transaction for FdbTransaction
impl Transaction for FdbTransaction
sourcefn add_read_conflict_key(&self, key: impl Into<Key>) -> FdbResult<()>
fn add_read_conflict_key(&self, key: impl Into<Key>) -> FdbResult<()>
Adds a key to the transaction’s read conflict ranges as if you had read the key. Read more
sourcefn add_read_conflict_range(&self, range: Range) -> FdbResult<()>
fn add_read_conflict_range(&self, range: Range) -> FdbResult<()>
Adds a range of keys to the transaction’s read conflict ranges as if you had read the range. Read more
sourcefn add_write_conflict_key(&self, key: impl Into<Key>) -> FdbResult<()>
fn add_write_conflict_key(&self, key: impl Into<Key>) -> FdbResult<()>
Adds a key to the transaction’s write conflict ranges as if you had written the key. Read more
sourcefn add_write_conflict_range(&self, range: Range) -> FdbResult<()>
fn add_write_conflict_range(&self, range: Range) -> FdbResult<()>
Adds a range of keys to the transaction’s write conflict ranges as if you had cleared the range. Read more
sourceunsafe fn cancel(&self)
unsafe fn cancel(&self)
Cancels the Transaction
. Read more
sourcefn clear_range(&self, range: Range)
fn clear_range(&self, range: Range)
Clears a range of keys from the database.
sourceunsafe fn commit(&self) -> FdbFutureUnit
unsafe fn commit(&self) -> FdbFutureUnit
Commit this Transaction
. Read more
sourcefn get_approximate_size(&self) -> FdbFutureI64
fn get_approximate_size(&self) -> FdbFutureI64
Returns a future that will contain the approximated size of the commit, which is the summation of mutations, read conflict ranges, and write conflict ranges. Read more
sourceunsafe fn get_committed_version(&self) -> CommittedVersion
unsafe fn get_committed_version(&self) -> CommittedVersion
Gets the version number at which a successful commit modified the database. Read more
sourceunsafe fn get_versionstamp(&self) -> TransactionVersionstamp
unsafe fn get_versionstamp(&self) -> TransactionVersionstamp
Returns TransactionVersionstamp
from which you can get the
versionstamp which was used by any versionstamp operations in
this transaction. Read more
sourceunsafe fn mutate(&self, optype: MutationType, key: impl Into<Key>, param: Bytes)
unsafe fn mutate(&self, optype: MutationType, key: impl Into<Key>, param: Bytes)
An atomic operation is a single database command that carries out several logical steps: reading the value of a key, performing a transformation on that value, and writing the result. Read more
sourceunsafe fn reset(&self)
unsafe fn reset(&self)
Reset the Transaction
. Read more
impl Send for FdbTransaction
impl Sync for FdbTransaction
Auto Trait Implementations
impl RefUnwindSafe for FdbTransaction
impl Unpin for FdbTransaction
impl UnwindSafe for FdbTransaction
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more