diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-06 14:02:14 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-06 14:02:14 +0100 |
| commit | e3d5e9d29a558173d5e6c499695480bed83008be (patch) | |
| tree | a64ced22a1a63bbac589e26e21c8f291b3d6d929 /database/src/kv/counters.rs | |
| parent | c914529348b8aa74a142b12f2a3b7532350d3f04 (diff) | |
| download | jellything-e3d5e9d29a558173d5e6c499695480bed83008be.tar jellything-e3d5e9d29a558173d5e6c499695480bed83008be.tar.bz2 jellything-e3d5e9d29a558173d5e6c499695480bed83008be.tar.zst | |
idk
Diffstat (limited to 'database/src/kv/counters.rs')
| -rw-r--r-- | database/src/kv/counters.rs | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/database/src/kv/counters.rs b/database/src/kv/counters.rs index bcbe6a0..c5fd5f9 100644 --- a/database/src/kv/counters.rs +++ b/database/src/kv/counters.rs @@ -4,8 +4,8 @@ Copyright (C) 2026 metamuffin <metamuffin.org> */ use crate::{ - Query, RowNum, - kv::{SubtreeNum, binning::Binning}, + Query, + kv::{SubtreeNum, binning::Binning, helpers::read_counter}, }; use anyhow::Result; use jellyobject::Object; @@ -19,20 +19,6 @@ impl Counters { ob: Object<'_>, remove: bool, ) -> Result<()> { - for (b, &table) in &self.0 { - let mut k = vec![vec![]]; - b.apply(ob, &mut k); - if k.is_empty() { - continue; - } - let mut counter = read_counter(txn, table, 0)?; - if remove { - counter += k.len() as u64; - } else { - counter -= k.len() as u64; - } - write_counter(txn, table, counter)?; - } Ok(()) } pub fn count(&self, txn: &dyn jellykv::Transaction, query: &Query) -> Result<Option<u64>> { @@ -46,14 +32,3 @@ impl Counters { Ok(Some(total)) } } - -pub fn write_counter(txn: &mut dyn jellykv::Transaction, t: SubtreeNum, value: u64) -> Result<()> { - txn.set(&t.to_be_bytes(), &value.to_be_bytes()) -} -pub fn read_counter(txn: &dyn jellykv::Transaction, t: SubtreeNum, default: u64) -> Result<u64> { - Ok(txn - .get(&t.to_be_bytes())? - .map(|k| k.as_slice().try_into().map(RowNum::from_be_bytes).ok()) - .flatten() - .unwrap_or(default)) -} |