diff options
| author | metamuffin <metamuffin@disroot.org> | 2026-02-22 12:06:25 +0100 |
|---|---|---|
| committer | metamuffin <metamuffin@disroot.org> | 2026-02-22 12:06:25 +0100 |
| commit | be24e6673599b67cbf0917c54e4cedf9ca2aa859 (patch) | |
| tree | f1a2766bf5495fa7126fc0c713155fec7472e6c1 /database/src | |
| parent | aa13fade6fcabf9122babac7ac812a433a81b627 (diff) | |
| download | jellything-be24e6673599b67cbf0917c54e4cedf9ca2aa859.tar jellything-be24e6673599b67cbf0917c54e4cedf9ca2aa859.tar.bz2 jellything-be24e6673599b67cbf0917c54e4cedf9ca2aa859.tar.zst | |
update and clean up dependencies
Diffstat (limited to 'database/src')
| -rw-r--r-- | database/src/kv/mod.rs | 1 | ||||
| -rw-r--r-- | database/src/kv/sort/mod.rs | 9 | ||||
| -rw-r--r-- | database/src/kv/sort/none.rs | 50 | ||||
| -rw-r--r-- | database/src/kv/sort/value.rs | 86 |
4 files changed, 0 insertions, 146 deletions
diff --git a/database/src/kv/mod.rs b/database/src/kv/mod.rs index ae5608e..69e9c3b 100644 --- a/database/src/kv/mod.rs +++ b/database/src/kv/mod.rs @@ -10,7 +10,6 @@ pub mod index; pub mod index_key; pub mod merge_iterator; pub mod prefix_iterator; -pub mod sort; #[cfg(test)] pub mod tests; diff --git a/database/src/kv/sort/mod.rs b/database/src/kv/sort/mod.rs deleted file mode 100644 index 8b814cd..0000000 --- a/database/src/kv/sort/mod.rs +++ /dev/null @@ -1,9 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ - - -pub mod none; -pub mod value; diff --git a/database/src/kv/sort/none.rs b/database/src/kv/sort/none.rs deleted file mode 100644 index 4044919..0000000 --- a/database/src/kv/sort/none.rs +++ /dev/null @@ -1,50 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ - -use crate::{ - RowNum, - kv::{SubtreeNum, binning::Binning}, -}; -use jellyobject::Object; - -pub struct UnsortedIndex { - id: SubtreeNum, - binning: Binning, -} - -impl UnsortedIndex { - pub fn new(id: SubtreeNum, binning: Binning) -> Self { - Self { id, binning } - } - fn keys(&self, id: RowNum, ob: Object) -> Vec<Vec<u8>> { - let mut keys = vec![self.id.to_be_bytes().to_vec()]; - self.binning.apply(ob, &mut keys); - for k in &mut keys { - k.extend(id.to_ne_bytes()); - } - keys - } -} -// impl Index for UnsortedIndex { -// fn add(&self, db: &mut dyn WriteTransaction, id: RowNum, ob: Object) -> Result<()> { -// for key in self.keys(id, ob) { -// db.set(&key, &[])?; -// } -// Ok(()) -// } -// fn remove(&self, db: &mut dyn WriteTransaction, id: RowNum, ob: Object) -> Result<()> { -// for key in self.keys(id, ob) { -// db.del(&key)?; -// } -// Ok(()) -// } -// fn compare(&self, before: Object, after: Object) -> bool { -// self.keys(0, before) == self.keys(0, after) -// } -// fn query(&self, txn: &mut dyn ReadTransaction, _sort: &Sort) -> Result<RowIter> { -// todo!() -// } -// } diff --git a/database/src/kv/sort/value.rs b/database/src/kv/sort/value.rs deleted file mode 100644 index 5637ac7..0000000 --- a/database/src/kv/sort/value.rs +++ /dev/null @@ -1,86 +0,0 @@ -/* - This file is part of jellything (https://codeberg.org/metamuffin/jellything) - which is licensed under the GNU Affero General Public License (version 3); see /COPYING. - Copyright (C) 2026 metamuffin <metamuffin.org> -*/ - -use jellyobject::Object; - -use crate::{ - MultiBehaviour, RowNum, ValueSort, - kv::{SubtreeNum, binning::Binning}, -}; - -pub struct ValueIndex { - id: SubtreeNum, - binning: Binning, - sort: ValueSort, -} - -impl ValueIndex { - pub fn new(id: SubtreeNum, binning: Binning, sort: ValueSort) -> Self { - Self { id, binning, sort } - } - fn keys(&self, id: RowNum, ob: Object) -> Vec<Vec<u8>> { - let mut keys = vec![self.id.to_be_bytes().to_vec()]; - self.binning.apply(ob, &mut keys); - self.sort.apply(ob, &mut keys); - for k in &mut keys { - k.extend(id.to_ne_bytes()); - } - keys - } -} -// impl Index for ValueIndex { -// fn add(&self, db: &mut dyn WriteTransaction, id: RowNum, ob: Object) -> Result<()> { -// for key in self.keys(id, ob) { -// db.set(&key, &[])?; -// } -// Ok(()) -// } -// fn remove(&self, db: &mut dyn WriteTransaction, id: RowNum, ob: Object) -> Result<()> { -// for key in self.keys(id, ob) { -// db.del(&key)?; -// } -// Ok(()) -// } -// fn compare(&self, before: Object, after: Object) -> bool { -// self.keys(0, before) == self.keys(0, after) -// } -// fn query(&self, txn: &mut dyn ReadTransaction, sort: &Sort) -> Result<RowIter> { -// todo!() -// } -// } -impl ValueSort { - fn apply(&self, ob: Object, keys: &mut Vec<Vec<u8>>) { - match self.multi { - MultiBehaviour::First => { - if let Some(val) = self.path.get_matching_value(ob) { - for k in keys.iter_mut() { - k.extend(val); - } - } else { - keys.clear(); - } - } - MultiBehaviour::ForEach => { - let mut keys_out = Vec::new(); - for val in self.path.get_matching_values(ob) { - for mut k in keys.clone() { - k.extend(val); - keys_out.push(k); - } - } - *keys = keys_out - } - MultiBehaviour::Max => todo!(), - MultiBehaviour::Min => todo!(), - MultiBehaviour::Count => { - let count = self.path.get_matching_values(ob).len() as u32; - for k in keys.iter_mut() { - k.extend(count.to_be_bytes()); - } - } - } - } -} |