Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce KeySpace interface for API v2. #353

Open
wants to merge 46 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
1f314ee
fix type checking for new interface
iosmanthus Jun 21, 2022
aa6e4b5
cargo fmt
iosmanthus Jun 21, 2022
222908e
git fire: changing sig for PdRpcClient
iosmanthus Jun 22, 2022
605aed8
fix TxnApiV1 test
iosmanthus Jun 22, 2022
9164cf0
fix all tests for API v1
iosmanthus Jun 23, 2022
7668c37
fix integration tests for API v1
iosmanthus Jun 23, 2022
dd1c7b9
remove specification feature
iosmanthus Jun 23, 2022
60585f6
resolve conflict from master
iosmanthus Jun 24, 2022
3a0df00
reduce type annotation
iosmanthus Jun 24, 2022
7c3de1a
recover impl Trait for resolve_locks*
iosmanthus Jun 24, 2022
02377b7
git fire!: wip api v2
iosmanthus Jun 28, 2022
59002d1
impl KeyspaceCodec, along with RawKeyspaceCodec and TxnKeyspaceCodec
iosmanthus Jul 1, 2022
a440794
fix fmt check
iosmanthus Jul 1, 2022
0a72d31
rename request_codec.rs to codec.rs
iosmanthus Jul 1, 2022
19c3123
git fire!: wip impl RequestCodec for requests
iosmanthus Jul 1, 2022
624c68e
impl KvRequest for raw requests
iosmanthus Jul 4, 2022
71af50d
cargo fmt
iosmanthus Jul 5, 2022
a5f326f
impl KvRequest for txn requests
iosmanthus Jul 5, 2022
5efbc12
make check
iosmanthus Jul 5, 2022
b534cfd
impl Default for KeyspaceId
iosmanthus Jul 5, 2022
434e10d
cargo fmt
iosmanthus Jul 6, 2022
317116b
decode in place
iosmanthus Jul 6, 2022
5c5809a
introduce impl_kv_request to simplify code
iosmanthus Jul 6, 2022
701964d
refactor impl_kv_request macro
iosmanthus Jul 6, 2022
db38d95
fix tests
iosmanthus Jul 6, 2022
3660ca1
move default impl into RequestCodecExt
iosmanthus Jul 7, 2022
7d68247
fix api version context
iosmanthus Jul 7, 2022
81cbddd
move request codec into raw/txn owned module
iosmanthus Jul 8, 2022
5bd0f6e
fix doc test
iosmanthus Jul 8, 2022
1c1ce17
fix wrong TxnCodec mark trait for raw::Keyspace
iosmanthus Jul 9, 2022
051a157
refactor ApiVx with Mode generic para
iosmanthus Jul 11, 2022
159de5c
Merge branch 'master' of github.com:tikv/client-rust into api-v2
iosmanthus Jul 11, 2022
bfd1f28
remove dynamic dispatch while encoding request in Dispatch
iosmanthus Jul 11, 2022
7fc61ea
make IsDefault private in crate
iosmanthus Jul 11, 2022
6baaa94
remove impl Deref for Key
iosmanthus Jul 11, 2022
07c7af7
fix potential index out of range while meets corrupted keyspace prefix
iosmanthus Jul 12, 2022
0ed902d
introduce codec type parameter for Snapshot and Transcation
iosmanthus Jul 12, 2022
182a457
bound Client to right codec
iosmanthus Jul 12, 2022
0e76e10
fix encode range issue with unbound end
iosmanthus Jul 14, 2022
0c3c9e3
Merge branch 'master' of github.com:tikv/client-rust into api-v2
iosmanthus Jul 14, 2022
f46cea8
introduce newer version of proto
iosmanthus Jul 21, 2022
130e1b0
git fire: impl load keyspace
iosmanthus Jul 21, 2022
3819c8a
introduce keyspace mgr from keyspace service
iosmanthus Jul 21, 2022
a2047eb
fix clippy
iosmanthus Jul 22, 2022
45af3c5
refine trait bound of raw::Client
iosmanthus Jul 22, 2022
9de6f50
remove phatom of txn::Client
iosmanthus Jul 22, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix doc test
Signed-off-by: iosmanthus <[email protected]>
iosmanthus committed Jul 8, 2022
commit 5bd0f6e2e14c4048397f48adb93dff8f63e24d62
8 changes: 4 additions & 4 deletions src/lib.rs
Original file line number Diff line number Diff line change
@@ -66,9 +66,9 @@
//! # use tikv_client::{RawClient, Result};
//! # use futures::prelude::*;
//! # fn main() -> Result<()> {
//! # use tikv_client::request::codec::RawApiV1;
//! # use tikv_client::raw::ApiV1;
//! futures::executor::block_on(async {
//! let client = RawClient::new(vec!["127.0.0.1:2379"], RawApiV1, None).await?;
//! let client = RawClient::new(vec!["127.0.0.1:2379"], ApiV1, None).await?;
//! client.put("key".to_owned(), "value".to_owned()).await?;
//! let value = client.get("key".to_owned()).await?;
//! # Ok(())
@@ -81,9 +81,9 @@
//! # use tikv_client::{TransactionClient, Result};
//! # use futures::prelude::*;
//! # fn main() -> Result<()> {
//! # use tikv_client::request::codec::TxnApiV1;
//! # use tikv_client::transaction::ApiV1;
//! futures::executor::block_on(async {
//! let txn_client = TransactionClient::new(vec!["127.0.0.1:2379"], TxnApiV1, None).await?;
//! let txn_client = TransactionClient::new(vec!["127.0.0.1:2379"], ApiV1, None).await?;
//! let mut txn = txn_client.begin_optimistic().await?;
//! txn.put("key".to_owned(), "value".to_owned()).await?;
//! let value = txn.get("key".to_owned()).await?;
56 changes: 28 additions & 28 deletions src/raw/client.rs
Original file line number Diff line number Diff line change
@@ -62,9 +62,9 @@ impl<C: RawCodec> Client<C> {
/// ```rust,no_run
/// # use tikv_client::RawClient;
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None)
/// let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// # });
@@ -89,12 +89,12 @@ impl<C: RawCodec> Client<C> {
/// # use tikv_client::{Config, RawClient};
/// # use futures::prelude::*;
/// # use std::time::Duration;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// let client = RawClient::new_with_config(
/// vec!["192.168.0.100"],
/// Config::default().with_timeout(Duration::from_secs(60)),
/// RawApiV1,
/// ApiV1,
/// None,
/// )
/// .await
@@ -145,9 +145,9 @@ impl<C: RawCodec> Client<C> {
/// # use tikv_client::{Config, RawClient, ColumnFamily};
/// # use futures::prelude::*;
/// # use std::convert::TryInto;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None)
/// let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap()
/// .with_cf(ColumnFamily::Write);
@@ -201,9 +201,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Value, Config, RawClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let key = "TiKV".to_owned();
/// let req = client.get(key);
/// let result: Option<Value> = req.await.unwrap();
@@ -236,9 +236,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{KvPair, Config, RawClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let keys = vec!["TiKV".to_owned(), "TiDB".to_owned()];
/// let req = client.batch_get(keys);
/// let result: Vec<KvPair> = req.await.unwrap();
@@ -276,9 +276,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Key, Value, Config, RawClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let key = "TiKV".to_owned();
/// let val = "TiKV".to_owned();
/// let req = client.put(key, val);
@@ -315,9 +315,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Result, KvPair, Key, Value, Config, RawClient, IntoOwnedRange};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let kvpair1 = ("PD".to_owned(), "Go".to_owned());
/// let kvpair2 = ("TiKV".to_owned(), "Rust".to_owned());
/// let iterable = vec![kvpair1, kvpair2];
@@ -362,9 +362,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Key, Config, RawClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let key = "TiKV".to_owned();
/// let req = client.delete(key);
/// let result: () = req.await.unwrap();
@@ -397,9 +397,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Config, RawClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let keys = vec!["TiKV".to_owned(), "TiDB".to_owned()];
/// let req = client.batch_delete(keys);
/// let result: () = req.await.unwrap();
@@ -435,9 +435,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Key, Config, RawClient, IntoOwnedRange};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let inclusive_range = "TiKV"..="TiDB";
/// let req = client.delete_range(inclusive_range.into_owned());
/// let result: () = req.await.unwrap();
@@ -476,9 +476,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{KvPair, Config, RawClient, IntoOwnedRange};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let inclusive_range = "TiKV"..="TiDB";
/// let req = client.scan(inclusive_range.into_owned(), 2);
/// let result: Vec<KvPair> = req.await.unwrap();
@@ -511,9 +511,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Key, Config, RawClient, IntoOwnedRange};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let inclusive_range = "TiKV"..="TiDB";
/// let req = client.scan_keys(inclusive_range.into_owned(), 2);
/// let result: Vec<Key> = req.await.unwrap();
@@ -554,9 +554,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Key, Config, RawClient, IntoOwnedRange};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let inclusive_range1 = "TiDB"..="TiKV";
/// let inclusive_range2 = "TiKV"..="TiSpark";
/// let iterable = vec![inclusive_range1.into_owned(), inclusive_range2.into_owned()];
@@ -599,9 +599,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Key, Config, RawClient, IntoOwnedRange};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::RawApiV1;
/// use tikv_client::raw::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = RawClient::new(vec!["192.168.0.100"], RawApiV1, None).await.unwrap();
/// # let client = RawClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let inclusive_range1 = "TiDB"..="TiKV";
/// let inclusive_range2 = "TiKV"..="TiSpark";
/// let iterable = vec![inclusive_range1.into_owned(), inclusive_range2.into_owned()];
24 changes: 12 additions & 12 deletions src/transaction/client.rs
Original file line number Diff line number Diff line change
@@ -68,9 +68,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None)
/// let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// # });
@@ -96,12 +96,12 @@ where
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// # use std::time::Duration;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new_with_config(
/// vec!["192.168.0.100"],
/// Config::default().with_timeout(Duration::from_secs(60)),
/// TxnApiV1,
/// ApiV1,
/// None,
/// )
/// .await
@@ -148,9 +148,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None)
/// let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// let mut transaction = client.begin_optimistic().await.unwrap();
@@ -174,9 +174,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None)
/// let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// let mut transaction = client.begin_pessimistic().await.unwrap();
@@ -197,9 +197,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient, TransactionOptions};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None)
/// let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// let mut transaction = client
@@ -237,9 +237,9 @@ where
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None)
/// let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// let timestamp = client.current_timestamp().await.unwrap();
56 changes: 28 additions & 28 deletions src/transaction/transaction.rs
Original file line number Diff line number Diff line change
@@ -51,9 +51,9 @@ use crate::{
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None)
/// let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None)
/// .await
/// .unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
@@ -108,9 +108,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let key = "TiKV".to_owned();
/// let result: Option<Value> = txn.get(key).await.unwrap();
@@ -170,9 +170,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_pessimistic().await.unwrap();
/// let key = "TiKV".to_owned();
/// let result: Value = txn.get_for_update(key).await.unwrap().unwrap();
@@ -205,9 +205,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_pessimistic().await.unwrap();
/// let exists = txn.key_exists("k1".to_owned()).await.unwrap();
/// txn.commit().await.unwrap();
@@ -233,9 +233,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// # use tikv_client::{Key, Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// # use std::collections::HashMap;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let keys = vec!["TiKV".to_owned(), "TiDB".to_owned()];
/// let result: HashMap<Key, Value> = txn
@@ -287,9 +287,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// # use tikv_client::{Key, Value, Config, TransactionClient, KvPair};
/// # use futures::prelude::*;
/// # use std::collections::HashMap;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_pessimistic().await.unwrap();
/// let keys = vec!["foo".to_owned(), "bar".to_owned()];
/// let result: Vec<KvPair> = txn
@@ -333,9 +333,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// # use tikv_client::{Key, KvPair, Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// # use std::collections::HashMap;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let key1: Key = b"foo".to_vec().into();
/// let key2: Key = b"bar".to_vec().into();
@@ -370,9 +370,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// # use tikv_client::{Key, KvPair, Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// # use std::collections::HashMap;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let key1: Key = b"foo".to_vec().into();
/// let key2: Key = b"bar".to_vec().into();
@@ -412,9 +412,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Key, Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let key = "foo".to_owned();
/// let val = "FOO".to_owned();
@@ -444,9 +444,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Key, Value, Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let key = "foo".to_owned();
/// let val = "FOO".to_owned();
@@ -481,9 +481,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Key, Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100", "192.168.0.101"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// let key = "foo".to_owned();
/// txn.delete(key);
@@ -517,9 +517,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Config, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// txn.lock_keys(vec!["TiKV".to_owned(), "Rust".to_owned()]);
/// // ... Do some actions.
@@ -554,9 +554,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Config, Timestamp, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// // ... Do some actions.
/// let result: Timestamp = txn.commit().await.unwrap().unwrap();
@@ -613,9 +613,9 @@ impl<PdC: PdClient> Transaction<PdC> {
/// ```rust,no_run
/// # use tikv_client::{Config, Timestamp, TransactionClient};
/// # use futures::prelude::*;
/// use tikv_client::request::codec::TxnApiV1;
/// use tikv_client::transaction::ApiV1;
/// # futures::executor::block_on(async {
/// # let client = TransactionClient::new(vec!["192.168.0.100"], TxnApiV1, None).await.unwrap();
/// # let client = TransactionClient::new(vec!["192.168.0.100"], ApiV1, None).await.unwrap();
/// let mut txn = client.begin_optimistic().await.unwrap();
/// // ... Do some actions.
/// txn.rollback().await.unwrap();