aboutsummaryrefslogtreecommitdiff
path: root/database/src/lib.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-01-14 20:28:54 +0100
committermetamuffin <metamuffin@disroot.org>2026-01-14 20:28:54 +0100
commitabf25f340c11111369b69c13c34d8fed9d4f0da8 (patch)
tree1e913a4affe3303a17a222c8215a51424d3b71b6 /database/src/lib.rs
parentb5ff460e938779be4eeab292c2cc1d436b93c137 (diff)
downloadjellything-abf25f340c11111369b69c13c34d8fed9d4f0da8.tar
jellything-abf25f340c11111369b69c13c34d8fed9d4f0da8.tar.bz2
jellything-abf25f340c11111369b69c13c34d8fed9d4f0da8.tar.zst
db binning and sorts
Diffstat (limited to 'database/src/lib.rs')
-rw-r--r--database/src/lib.rs42
1 files changed, 3 insertions, 39 deletions
diff --git a/database/src/lib.rs b/database/src/lib.rs
index df314b6..9c372b4 100644
--- a/database/src/lib.rs
+++ b/database/src/lib.rs
@@ -4,46 +4,10 @@
Copyright (C) 2026 metamuffin <metamuffin.org>
*/
pub mod backends;
-pub mod indices;
+pub mod sort;
pub mod prefix_iterator;
pub mod table;
+pub mod query;
+pub mod filter;
pub type Pad32 = u32;
-
-use jellycommon::jellyobject::Tag;
-
-pub struct Query {
- pub filter: Filter,
- pub sort: Sort,
-}
-
-pub enum Sort {
- None,
- Value(Vec<ValueSortComponent>),
- TextSearch(Path, String),
-}
-pub struct ValueSortComponent {
- pub order: SortOrder,
- pub path: Path,
- pub multi: MultiBehaviour,
- pub offset: Option<Vec<u8>>,
-}
-pub enum MultiBehaviour {
- First,
- ForEach,
- Max,
- Min,
- Count,
-}
-pub enum SortOrder {
- Ascending,
- Descending,
-}
-pub enum Filter {
- And(Vec<Filter>),
- Or(Vec<Filter>),
- Match(Path, Vec<u8>),
- Has(Path),
-}
-
-pub struct Path(pub Vec<Tag>);