Rust · Installation

Installation

use ustore::*; 1.0.0-rc.1 · d6d40961

cargo add ustore

The crate links the engine library CMake builds and consumes it through the C ABI in c/ustore/. build.rs compiles no C or C++ of its own: it configures CMake, installs the libraries into OUT_DIR and links ustore_static, the archive that carries the objects of the small libraries it builds on, with the archives of the engines its features enable. USTORE_LIBRARY_DIR names a directory already holding those archives, such as the lib/ of a prefix CMake installed with USTORE_BUNDLE_SIBLINGS=OFF, and skips the CMake build.

The in-memory ram engine always builds, the default rocksdb and leveldb features add theirs to the one library, and the nvme feature adds the NVMe engine when asked for. Without a feature, its engine’s Database::open_* fails with Status::Unsupported.

cargo test                                        # RAM, RocksDB and LevelDB
cargo test --no-default-features --features nvme  # RAM and NVMe alone
cargo test --all-features                         # every engine, and documents read into `serde` types

The crate re-exports the two it builds on: jsontape, which parses documents, and stringtape, whose tapes carry batches of values in and whose views hand them out.

API

Functions

versionThe version of the library the program runs against, like "1.0.0".
db.rs:1012 ↗
pub fn version() -> &'static str

Calls ustore_version_name.