Skip to content

Implement disk-backed AVL tree storage with RocksDB integration - #9

Open
LogicalGuy77 wants to merge 3 commits into
ergoplatform:mainfrom
LogicalGuy77:disk-persistence
Open

Implement disk-backed AVL tree storage with RocksDB integration#9
LogicalGuy77 wants to merge 3 commits into
ergoplatform:mainfrom
LogicalGuy77:disk-persistence

Conversation

@LogicalGuy77

@LogicalGuy77 LogicalGuy77 commented Dec 13, 2025

Copy link
Copy Markdown

Fixes: #8 & #7

  • Added DiskBackedAVLStorage for persistent AVL tree storage using RocksDB.
  • Introduced VersionedRocksDBStore and RocksDBStore for versioned key-value operations.
  • Created error handling with StorageError enum for various storage-related errors.
  • Implemented KVStore and VersionedKVStore traits for storage operations.
  • Added unit tests for disk persistence, including basic operations, versioning, and rollback functionality.
  • Enhanced lib.rs to conditionally include storage modules based on feature flags.

Tested it thoroughly:

image image

Tested Examples:

image

- Added `DiskBackedAVLStorage` for persistent AVL tree storage using RocksDB.
- Introduced `VersionedRocksDBStore` and `RocksDBStore` for versioned key-value operations.
- Created error handling with `StorageError` enum for various storage-related errors.
- Implemented `KVStore` and `VersionedKVStore` traits for storage operations.
- Added unit tests for disk persistence, including basic operations, versioning, and rollback functionality.
- Enhanced `lib.rs` to conditionally include storage modules based on feature flags.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add optional disk persistence to AVL+ trees implementation

1 participant