From 8c0ee6d17fe0dbd7748e7b60ff01a0e8f25faa51 Mon Sep 17 00:00:00 2001 From: metamuffin Date: Wed, 14 Jan 2026 22:13:19 +0100 Subject: implement db trait without wrappers --- database/src/backends/rocksdb.rs | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) (limited to 'database/src/backends/rocksdb.rs') 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 */ -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 { + Ok(OptimisticTransactionDB::open_default(path)?) } -impl Rocksdb { - pub fn new(path: &Path) -> Result { - 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(()), -- cgit v1.3