aboutsummaryrefslogtreecommitdiff
path: root/database/src/backends/rocksdb.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-01-14 22:13:19 +0100
committermetamuffin <metamuffin@disroot.org>2026-01-14 22:13:19 +0100
commit8c0ee6d17fe0dbd7748e7b60ff01a0e8f25faa51 (patch)
tree1ff5856dec2a359f01a340e428704b028df38e51 /database/src/backends/rocksdb.rs
parent314b9cf6eddda6d0a3c5bd153e960873622224b1 (diff)
downloadjellything-8c0ee6d17fe0dbd7748e7b60ff01a0e8f25faa51.tar
jellything-8c0ee6d17fe0dbd7748e7b60ff01a0e8f25faa51.tar.bz2
jellything-8c0ee6d17fe0dbd7748e7b60ff01a0e8f25faa51.tar.zst
implement db trait without wrappers
Diffstat (limited to 'database/src/backends/rocksdb.rs')
-rw-r--r--database/src/backends/rocksdb.rs19
1 files changed, 6 insertions, 13 deletions
diff --git a/database/src/backends/rocksdb.rs b/database/src/backends/rocksdb.rs
index b62a482..1475dac 100644
--- a/database/src/backends/rocksdb.rs
+++ b/database/src/backends/rocksdb.rs
@@ -4,26 +4,19 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
-use crate::backends::{Db, ReadTransaction, WriteTransaction, WriteTxnFunction};
+use crate::backends::{Database, ReadTransaction, WriteTransaction, WriteTxnFunction};
use anyhow::Result;
use rocksdb::{Direction, ErrorKind, IteratorMode, OptimisticTransactionDB};
use std::path::Path;
-pub struct Rocksdb {
- db: OptimisticTransactionDB,
+pub fn new(path: &Path) -> Result<OptimisticTransactionDB> {
+ Ok(OptimisticTransactionDB::open_default(path)?)
}
-impl Rocksdb {
- pub fn new(path: &Path) -> Result<Self> {
- Ok(Self {
- db: OptimisticTransactionDB::open_default(path)?,
- })
- }
-}
-impl Db for Rocksdb {
+impl Database for OptimisticTransactionDB {
fn write_transaction(&self, f: &mut WriteTxnFunction) -> Result<()> {
loop {
- let mut txn = self.db.transaction();
+ let mut txn = self.transaction();
f(&mut txn)?;
match txn.commit() {
Ok(()) => break Ok(()),
@@ -34,7 +27,7 @@ impl Db for Rocksdb {
}
fn read_transaction(&self, f: &mut super::ReadTxnFunction) -> Result<()> {
loop {
- let txn = self.db.transaction();
+ let txn = self.transaction();
f(&txn)?;
match txn.commit() {
Ok(()) => break Ok(()),