pub struct FdbReadTransaction { /* private fields */ }
Expand description

A handle to a FDB snapshot, suitable for performing snapshot reads.

Snapshot reads offer more relaxed isolation level than FDB’s default serializable isolation, reducing transaction conflicts but making it harder to reason about concurrency.

For more information about how to use snapshot reads correctly, see snapshot reads.

snapshot method on FdbTransaction can be used to create a FdbReadTransaction.

Implementations§

source§

impl FdbReadTransaction

source

pub async unsafe fn read<T, F, Fut>(&self, f: F) -> FdbResult<T>where F: FnMut(FdbReadTransaction) -> Fut, Fut: Future<Output = FdbResult<T>>,

Runs a closure in the context of this FdbReadTransaction.

Safety

You should not use this API. It exists to support binding tester.

Trait Implementations§

source§

impl Clone for FdbReadTransaction

source§

fn clone(&self) -> FdbReadTransaction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for FdbReadTransaction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl ReadTransaction for FdbReadTransaction

source§

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
source§

fn get(&self, key: impl Into<Key>) -> FdbFutureMaybeValue

Gets a value from the database. Read more
source§

fn get_addresses_for_key(&self, key: impl Into<Key>) -> FdbFutureCStringArray

Get a list of public network addresses as CString, one for each of the storage servers responsible for storing Key and its associated value. Read more
source§

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
source§

fn get_key(&self, selector: KeySelector) -> FdbFutureKey

Returns the key referenced by the specificed KeySelector. Read more
source§

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
source§

fn get_range( &self, begin: KeySelector, end: KeySelector, options: RangeOptions ) -> FdbStreamKeyValue

Gets an ordered range of keys and values from the database. Read more
source§

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
source§

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
source§

unsafe fn set_option(&self, option: TransactionOption) -> FdbResult<()>

source§

unsafe fn set_read_version(&self, version: i64)

Directly sets the version of the database at which to execute reads. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere 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 Twhere 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.