diff options
author | marvin-j97 <marvin.janke.97@gmail.com> | 2024-09-04 18:45:17 +0200 |
---|---|---|
committer | marvin-j97 <marvin.janke.97@gmail.com> | 2024-09-04 18:45:17 +0200 |
commit | 74363c906065a559beef4c3c93e8f73a7ecff437 (patch) | |
tree | de3683f54e5cebb27f3b17b01dce9f87c86aca63 /src/db/lmdb_adapter.rs | |
parent | 615698df7d2d3867fd3d9cbdf8d8849a9de358bf (diff) | |
download | garage-74363c906065a559beef4c3c93e8f73a7ecff437.tar.gz garage-74363c906065a559beef4c3c93e8f73a7ecff437.zip |
perf(kv): dont retrieve values for write ops
see https://git.deuxfleurs.fr/Deuxfleurs/garage/issues/851
Diffstat (limited to 'src/db/lmdb_adapter.rs')
-rw-r--r-- | src/db/lmdb_adapter.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/db/lmdb_adapter.rs b/src/db/lmdb_adapter.rs index d5066664..436a67fa 100644 --- a/src/db/lmdb_adapter.rs +++ b/src/db/lmdb_adapter.rs @@ -132,22 +132,20 @@ impl IDb for LmdbDb { Ok(tree.len(&tx)?.try_into().unwrap()) } - fn insert(&self, tree: usize, key: &[u8], value: &[u8]) -> Result<Option<Value>> { + fn insert(&self, tree: usize, key: &[u8], value: &[u8]) -> Result<()> { let tree = self.get_tree(tree)?; let mut tx = self.db.write_txn()?; - let old_val = tree.get(&tx, key)?.map(Vec::from); tree.put(&mut tx, key, value)?; tx.commit()?; - Ok(old_val) + Ok(()) } - fn remove(&self, tree: usize, key: &[u8]) -> Result<Option<Value>> { + fn remove(&self, tree: usize, key: &[u8]) -> Result<()> { let tree = self.get_tree(tree)?; let mut tx = self.db.write_txn()?; - let old_val = tree.get(&tx, key)?.map(Vec::from); tree.delete(&mut tx, key)?; tx.commit()?; - Ok(old_val) + Ok(()) } fn clear(&self, tree: usize) -> Result<()> { |