From e3d5e9d29a558173d5e6c499695480bed83008be Mon Sep 17 00:00:00 2001 From: metamuffin Date: Fri, 6 Feb 2026 14:02:14 +0100 Subject: idk --- database/src/kv/counters.rs | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) (limited to 'database/src/kv/counters.rs') 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 */ 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> { @@ -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 { - Ok(txn - .get(&t.to_be_bytes())? - .map(|k| k.as_slice().try_into().map(RowNum::from_be_bytes).ok()) - .flatten() - .unwrap_or(default)) -} -- cgit v1.3