Skip to content

Rust crate library for reading/writing GDBM key/value databases

License

Notifications You must be signed in to change notification settings

jgarzik/gdbm-native-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gdbm-native

Rust crate library for reading/writing GDBM key/value databases

Goals

  • Read and Write GDBM databases
  • Written in safe, native Rust (no FFI).
  • Better-than-C: Support all 32-/64-bit and big/little endian variants without recompiling.
  • Tuned for modern machines with solid state storage

Status

Alpha: Read-only access works well. Do not use in production.

Major categories of tasks leading to 1.0.0. View the list of issues and milestones for more.

  • Open/Close
  • Fetch: Get record data by key
  • Iterate: First-key/Next-key operations
  • Iterate v2: Rust Iterator
  • Count: Iterate db and count all records
  • Exists: Quick key-exists test
  • Insert: Store record
  • Remove: Delete record
  • Reorganize: Not a priority
  • Sync: Write dirty buffers, and fsync(2)
  • Import: GDBM ASCII and binary dump formats
  • Export: GDBM ASCII and binary dump formats
  • Numsync: New, 3rd generation GDBM file format
  • Tests: Healthy test coverage
  • Code Cleanup: Review by rust experts

Documentation

The best documentation is the original GDBM source code from the GNU project: https://www.gnu.org.ua/software/gdbm/

A sister project also provides additional technical documentation, including file format information.