Skip to content
Rust Client for TiKV.
Rust
Branch: master
Clone or download
sticnarf Merge pull request #97 from sticnarf/handle-mutations
Record mutations in transactions
Latest commit 54b14b8 Aug 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
examples Fix tests Aug 12, 2019
src Address comments Aug 15, 2019
tests Refactor into a request-style API (#87) Aug 9, 2019
.gitignore Add gitignore Nov 13, 2018
.travis.yml Fix CI by changing PD_ADDR to PD_ADDRS Jul 31, 2019
Cargo.toml Fix tests Aug 12, 2019
LICENSE Initial commit Aug 30, 2018
README.md Add a new TSO implementation Jul 31, 2019
rust-toolchain Add a new TSO implementation Jul 31, 2019

README.md

TiKV Client (Rust)

Build Status Documentation

Currently this crate is experimental and some portions (e.g. the Transactional API) are still in active development. You're encouraged to use this library for testing and to help us find problems!

This crate provides a clean, ready to use client for TiKV, a distributed transactional Key-Value database written in Rust.

With this crate you can easily connect to any TiKV deployment, interact with it, and mutate the data it contains.

This is an open source (Apache 2) project hosted by the Cloud Native Computing Foundation (CNCF) and maintained by the TiKV Authors. We'd love it if you joined us in improving this project.

Using the client

The TiKV client is a Rust library (crate). It uses async/await internally and exposes some async fn APIs as well.

Async/await is a new feature in Rust and is currently unstable. To use it you'll need to add the feature flag #![async_await] to your crate and use a nightly compiler (see below).

To use this crate in your project, add it as a dependency in your Cargo.toml:

[dependencies]
# ...Your other dependencies...
tikv-client = { git = "https://github.com/tikv/client-rust.git" }

The client requires a Git dependency until we can publish it.

There are examples which show how to use the client in a Rust program.

Access the documentation

We recommend using the cargo-generated documentation to browse and understand the API. We've done our best to include ample, tested, and understandable examples.

You can visit docs.rs/tikv-client, or build the documentation yourself.

You can access the documentation on your machine by running the following in any project that depends on tikv-client.

cargo doc --package tikv-client --open
# If it didn't work, browse file URL it tried to open with your browser.

Toolchain versions

To check what version of Rust you are using, run

rustc --version

You'll see something like rustc 1.38.0-nightly (dddb7fca0 2019-07-30) where the 1.38.0 is the toolchain version, and nightly is the channel (stable/beta/nightly). To install another toolchain use

rustup toolchain install nightly

Where nightly here is the channel to add. To update your toolchains, run

rustup update

To build your project using a specified toolchain, use something like

cargo +nightly build

Where nightly names the toolchain (by specifying the channel, in this case).

You can’t perform that action at this time.