diff options
Diffstat (limited to 'database/src/backends/rocksdb.rs')
| -rw-r--r-- | database/src/backends/rocksdb.rs | 19 |
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(()), |