4 releases

Uses old Rust 2015

0.2.2 May 31, 2016
0.2.1 Apr 5, 2016
0.2.0 Apr 5, 2016
0.1.0 Aug 17, 2015

#2701 in Database interfaces

MIT/Apache-2.0/BSD-3-Clause

6.5MB
148K SLoC

C++ 125K SLoC // 0.1% comments Java 15K SLoC // 0.3% comments Python 3.5K SLoC // 0.4% comments Shell 2K SLoC // 0.2% comments Rust 879 SLoC C 821 SLoC // 0.0% comments PHP 733 SLoC // 0.1% comments PowerShell 206 SLoC // 0.2% comments Bitbake 148 SLoC // 0.2% comments INI 108 SLoC // 0.2% comments JavaScript 95 SLoC // 0.1% comments

RocksDB bindings

Build Status

This is low-level bindings to RocksDB's C API, as of 4.3.1.

By default RocksDB uses tcmalloc, which can interact badly with Rust's use of jemalloc/system malloc, since tcmalloc won't get loaded until rocksdb is itself loaded. To avoid this conflict, this crate builds rocksdb for itself, and uses static linking to avoid pulling in tcmalloc. However, since the code will end up being part of a .so file, it needs to be compiled with -fPIC, which is an additional build option.

If you want to use rocksdb's various compression options, then you must pre-install the appropriate libraries (snappy, lz4, bzip2).


lib.rs:

Raw binding for RocksDB.

This is just a thin binding to the RocksDB C API, mostly generated by rust-bindgen and lightly edited. This is intended to underpin a higher level library rather than for direct use.

Dependencies