diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-01-14 22:13:19 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-01-14 22:13:19 +0100 |
| commit | 8c0ee6d17fe0dbd7748e7b60ff01a0e8f25faa51 (patch) | |
| tree | 1ff5856dec2a359f01a340e428704b028df38e51 /database/src/backends/rocksdb.rs | |
| parent | 314b9cf6eddda6d0a3c5bd153e960873622224b1 (diff) | |
| download | jellything-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.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(()), |