Status

CI crates.io badge docs.rs badge

libdb-rs

Statically linked rust bindings for Berkeley DB.

This is a humble fork from jesterpm's libdb-rs.

Features

v4_8 uses bindings for Berkeley DB 4.8.x.

v5_3 uses bindings for Berkeley DB 5.3.x.

By default, Berkeley DB 5.3.x is used.

Example

```rust extern crate libdb;

let env = libdb::EnvironmentBuilder::new() .flags(libdb::DBCREATE | libdb::DBRECOVER | libdb::DBINITTXN | libdb::DBINITMPOOL) .open() .unwrap();

let txn = env.txn(None, libdb::DB_NONE).unwrap();

let db = libdb::DatabaseBuilder::new() .environment(&env) .transaction(&txn) .dbtype(libdb::DbType::BTree) .flags(libdb::DBCREATE) .open() .unwrap();

txn.commit(libdb::CommitType::Inherit).expect("Commit failed!");

let mut key = String::from("key").intobytes(); let mut value = String::from("value").intobytes(); db.put(None, key.asmutslice(), value.asmutslice(), libdb::DB_NONE).expect("Put failed!");

let result = db.get(None, key.asmutslice(), libdb::DB_NONE).unwrap(); println!("{:?}", result); ```

crev

This crate has its author's crev review.

It is recommended to always use cargo-crev to verify the trustworthiness of each of your dependencies, including this one.

Berkeley DB licensing notice

Website: http://www.oracle.com/database/berkeley-db/

License: Sleepycat

Description: The Berkeley Database (Berkeley DB) is a programmatic toolkit that provides embedded database support for both traditional and client/server applications. The Berkeley DB includes B+tree, Extended Linear Hashing, Fixed and Variable-length record access methods, transactions, locking, logging, shared memory caching, and database recovery. The Berkeley DB supports C, C++, Java, and Perl APIs. It is used by many applications, including Python and Perl, so this should be installed on all systems.