Struct tikv_client::Snapshot

source ·
pub struct Snapshot<Cod: Codec = ApiV1TxnCodec, PdC: PdClient<Codec = Cod> = PdRpcClient<Cod>> { /* private fields */ }
Expand description

A read-only transaction which reads at the given timestamp.

It behaves as if the snapshot was taken at the given timestamp, i.e. it can read operations happened before the timestamp, but ignores operations after the timestamp.

See the Transaction docs for more information on the methods.

Implementations§

source§

impl<Cod: Codec, PdC: PdClient<Codec = Cod>> Snapshot<Cod, PdC>

source

pub fn new(transaction: Transaction<Cod, PdC>) -> Self

Constructs a new Snapshot.

source§

impl<Cod: Codec, PdC: PdClient<Codec = Cod>> Snapshot<Cod, PdC>

source

pub async fn get(&mut self, key: impl Into<Key>) -> Result<Option<Value>>

Get the value associated with the given key.

source

pub async fn key_exists(&mut self, key: impl Into<Key>) -> Result<bool>

Check whether the key exists.

source

pub async fn batch_get( &mut self, keys: impl IntoIterator<Item = impl Into<Key>> ) -> Result<impl Iterator<Item = KvPair>>

Get the values associated with the given keys.

source

pub async fn scan( &mut self, range: impl Into<BoundRange>, limit: u32 ) -> Result<impl Iterator<Item = KvPair>>

Scan a range, return at most limit key-value pairs that lying in the range.

source

pub async fn scan_keys( &mut self, range: impl Into<BoundRange>, limit: u32 ) -> Result<impl Iterator<Item = Key>>

Scan a range, return at most limit keys that lying in the range.

source

pub async fn scan_reverse( &mut self, range: impl Into<BoundRange>, limit: u32 ) -> Result<impl Iterator<Item = KvPair>>

Similar to scan, but in the reverse direction.

source

pub async fn scan_keys_reverse( &mut self, range: impl Into<BoundRange>, limit: u32 ) -> Result<impl Iterator<Item = Key>>

Similar to scan_keys, but in the reverse direction.

Auto Trait Implementations§

§

impl<Cod, PdC> RefUnwindSafe for Snapshot<Cod, PdC>where Cod: RefUnwindSafe, PdC: RefUnwindSafe,

§

impl<Cod, PdC> Send for Snapshot<Cod, PdC>

§

impl<Cod, PdC> Sync for Snapshot<Cod, PdC>

§

impl<Cod, PdC> Unpin for Snapshot<Cod, PdC>where Cod: Unpin,

§

impl<Cod, PdC> UnwindSafe for Snapshot<Cod, PdC>where Cod: UnwindSafe, PdC: RefUnwindSafe,

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
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.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more