diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-08 15:27:02 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-08 15:27:02 +0100 |
| commit | 4d26fb7d9031bf78233a71c0341b0277a28da973 (patch) | |
| tree | 49e19f98fc0e9d05ab6625f84bbfa5703601c530 /database/src/kv/index.rs | |
| parent | 2ea9c54d755d808a8030602d667979e270381933 (diff) | |
| download | jellything-4d26fb7d9031bf78233a71c0341b0277a28da973.tar jellything-4d26fb7d9031bf78233a71c0341b0277a28da973.tar.bz2 jellything-4d26fb7d9031bf78233a71c0341b0277a28da973.tar.zst | |
count index
Diffstat (limited to 'database/src/kv/index.rs')
| -rw-r--r-- | database/src/kv/index.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/database/src/kv/index.rs b/database/src/kv/index.rs index 27aabd6..522ae18 100644 --- a/database/src/kv/index.rs +++ b/database/src/kv/index.rs @@ -19,14 +19,14 @@ use crate::{ pub fn update_index( txn: &mut dyn jellykv::Transaction, is: SubtreeNum, - ik: IndexKey, + ik: &IndexKey, row: RowNum, ob: Object<'_>, remove: bool, ) -> Result<()> { let mut ks = vec![is.to_be_bytes().to_vec()]; ik.0.apply(ob, &mut ks); - match ik.1 { + match &ik.1 { SortKey::None => { for mut k in ks { k.extend(row.to_be_bytes()); @@ -53,3 +53,13 @@ pub fn update_index( } Ok(()) } + +pub fn read_count_index( + txn: &dyn jellykv::Transaction, + is: SubtreeNum, + prefix: Vec<u8>, +) -> Result<u64> { + let mut k = is.to_be_bytes().to_vec(); + k.extend(&prefix); + read_counter(txn, &k, 0) +} |