diff options
author | Julien Kritter <julien.kritter@withings.com> | 2024-09-12 10:26:28 +0200 |
---|---|---|
committer | Julien Kritter <julien.kritter@withings.com> | 2024-09-12 10:26:28 +0200 |
commit | 51ced6036602826ff653c6fc283cbf11fc7b4865 (patch) | |
tree | d381b99333b55f58e5a05cbb197712ffd4ab1a43 /src/db/lib.rs | |
parent | 586957b4b7261b43e7820d7193516153201b4954 (diff) | |
download | garage-51ced6036602826ff653c6fc283cbf11fc7b4865.tar.gz garage-51ced6036602826ff653c6fc283cbf11fc7b4865.zip |
Don't fetch old values in cross-partition transactional inserts
Diffstat (limited to 'src/db/lib.rs')
-rw-r--r-- | src/db/lib.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/db/lib.rs b/src/db/lib.rs index d6057505..3485745a 100644 --- a/src/db/lib.rs +++ b/src/db/lib.rs @@ -274,12 +274,12 @@ impl<'a> Transaction<'a> { tree: &Tree, key: T, value: U, - ) -> TxOpResult<Option<Value>> { + ) -> TxOpResult<()> { self.tx.insert(tree.1, key.as_ref(), value.as_ref()) } /// Returns the old value if there was one #[inline] - pub fn remove<T: AsRef<[u8]>>(&mut self, tree: &Tree, key: T) -> TxOpResult<Option<Value>> { + pub fn remove<T: AsRef<[u8]>>(&mut self, tree: &Tree, key: T) -> TxOpResult<()> { self.tx.remove(tree.1, key.as_ref()) } /// Clears all values in a tree @@ -362,8 +362,8 @@ pub(crate) trait ITx { fn get(&self, tree: usize, key: &[u8]) -> TxOpResult<Option<Value>>; fn len(&self, tree: usize) -> TxOpResult<usize>; - fn insert(&mut self, tree: usize, key: &[u8], value: &[u8]) -> TxOpResult<Option<Value>>; - fn remove(&mut self, tree: usize, key: &[u8]) -> TxOpResult<Option<Value>>; + fn insert(&mut self, tree: usize, key: &[u8], value: &[u8]) -> TxOpResult<()>; + fn remove(&mut self, tree: usize, key: &[u8]) -> TxOpResult<()>; fn clear(&mut self, tree: usize) -> TxOpResult<()>; fn iter(&self, tree: usize) -> TxOpResult<TxValueIter<'_>>; |