Crate cdb2

source ·
Expand description

This crate provides support for reading and writing CDB files. A CDB is a “constant database” that acts as an on-disk associative array mapping keys to values, allowing multiple values for each key. It provides for fast lookups and low overheads. A constant database has no provision for updating, only rewriting from scratch.

§Examples

Reading a set of records:

use cdb2::CDB;

let cdb = CDB::open("tests/test1.cdb")?;
for result in cdb.find(b"one") {
    println!("{:?}", result?);
}

Creating a database with safe atomic updating:

use cdb2::CDBWriter;

let mut cdb = CDBWriter::create("temporary.cdb")?;
cdb.add(b"one", b"Hello, ")?;
cdb.add(b"one", b"world!\n")?;
cdb.add(b"two", &[1, 2, 3, 4])?;
cdb.finish()?;

§References

Structs§

  • CDB file reader
  • Iterator over all the records in the CDB.
  • Base interface for making a CDB file.
  • Iterator over a set of records in the CDB with the same key.
  • A CDB file writer which handles atomic updating.

Type Aliases§