Skip to content

Draft: KV DB abstraction 2: electric boogaloo

Charles Hall requested to merge charles/kv-db-abstraction-2-electric-boogaloo into main

Fixes #39.

Feature parity with KvTree:

  • KvTree::get -> Map::get
  • KvTree::insert -> Map::set
  • KvTree::insert_batch
  • KvTree::remove -> Map::del
  • KvTree::iter
  • KvTree::iter_from
  • KvTree::increment -> 🗑
    • We desperately need to redo our PostgreSQL sequence approximation, the existing code scares me
    • Only 2 column families actually use the increment function, this can be implemented on top of the new abstraction instead of having a dedicated method
  • KvTree::increment_batch -> 🗑
    • We desperately need to redo our PostgreSQL sequence approximation, the existing code scares me
    • Only 2 column families actually use the increment_batch function, this can be implemented on top of the new abstraction instead of having a dedicated method
  • KvTree::scan_prefix -> Map::scan_prefix
  • KvTree::watch_prefix
  • KvTree::clear

Other things:

  • Implement Map for RocksDB
  • Implement Map for SQLite
  • Replace at least one use of KvTree with Map
    • More replacements could be done incrementally
Edited by Charles Hall

Merge request reports