aboutsummaryrefslogtreecommitdiff
path: root/database/src/lib.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-01-11 02:51:24 +0100
committermetamuffin <metamuffin@disroot.org>2026-01-11 02:51:24 +0100
commit72a718fffb236c4b157e4d62c2e486ca7b326a26 (patch)
tree17acd02fcd88dca48ce92e94d950a413d1cc8340 /database/src/lib.rs
parent095d4234558c39f28ddc777f123a15e410a74c14 (diff)
downloadjellything-72a718fffb236c4b157e4d62c2e486ca7b326a26.tar
jellything-72a718fffb236c4b157e4d62c2e486ca7b326a26.tar.bz2
jellything-72a718fffb236c4b157e4d62c2e486ca7b326a26.tar.zst
things
Diffstat (limited to 'database/src/lib.rs')
-rw-r--r--database/src/lib.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/database/src/lib.rs b/database/src/lib.rs
index 40bda72..32d160b 100644
--- a/database/src/lib.rs
+++ b/database/src/lib.rs
@@ -5,7 +5,21 @@
*/
pub mod backends;
pub mod indices;
-pub mod table;
pub mod prefix_iterator;
+pub mod table;
pub type Pad32 = u32;
+
+use jellycommon::jellyobject::{Object, Tag, TypedTag};
+
+enum Query<'a> {
+ MatchStr(Match<'a, &'a str>),
+ MatchF64(Match<'a, f64>),
+ MatchU64(Match<'a, u64>),
+ MatchTag(Match<'a, Tag>),
+ Has(Path<'a>),
+}
+
+pub struct Match<'a, T>(pub TypedPath<'a, T>, pub T);
+pub struct TypedPath<'a, T>(pub &'a [TypedTag<Object<'static>>], pub TypedTag<T>);
+pub struct Path<'a>(pub &'a [TypedTag<Object<'static>>], pub Tag);