treesummaryrefslogcommitdiff
path: root/src/db.zig
diff options
context:
space:
mode:
authorpatrick-scho2025-03-05 20:05:27 +0100
committerpatrick-scho2025-03-05 20:05:27 +0100
commit0bc06b9d63b581415ec7f7a209aea643e03f90dd (patch)
treee2cbc7699e9ef1942d34dff7a538429f1e181e9f /src/db.zig
parentb418996b9b61fee6f1d2b8ca325637ea192cd3b8 (diff)
downloadziglmdb-0bc06b9d63b581415ec7f7a209aea643e03f90dd.tar.gz
ziglmdb-0bc06b9d63b581415ec7f7a209aea643e03f90dd.zip
update tests
Diffstat (limited to 'src/db.zig')
-rw-r--r--src/db.zig72
1 files changed, 71 insertions, 1 deletions
diff --git a/src/db.zig b/src/db.zig
index 3e54060..5d7a824 100644
--- a/src/db.zig
+++ b/src/db.zig
@@ -584,7 +584,7 @@ test "db" {
// const db = List.init(txn, "b", u32);
// }
-test "maplist" {
+test "set" {
var env = try lmdb.Env.open("db", 1024 * 1024 * 1);
// env.sync();
defer env.close();
@@ -595,6 +595,76 @@ test "maplist" {
var dbi = try txn.dbi("abc");
const A = struct {
+ ml: Set(usize),
+ };
+
+ var a: A = undefined;
+ const a_idx: u64 = 27;
+ if (try dbi.has(a_idx)) {
+ a = try dbi.get(a_idx, A);
+ } else {
+ a = A{ .ml = try Set(usize).init(txn) };
+ try dbi.put(a_idx, a);
+ }
+
+ var ml = try a.ml.open(txn);
+
+ const len = ml.len();
+ std.debug.print("{}\n", .{len});
+ try ml.append(len);
+ std.debug.print("{}\n", .{try ml.has(len)});
+ var it = ml.iterator();
+ while (it.next()) |i| {
+ std.debug.print("{}\n", .{i});
+ }
+}
+
+test "list" {
+ var env = try lmdb.Env.open("db", 1024 * 1024 * 1);
+ // env.sync();
+ defer env.close();
+
+ var txn = try env.txn();
+ defer txn.commit() catch {};
+
+ var dbi = try txn.dbi("def");
+
+ const A = struct {
+ ml: List(usize),
+ };
+
+ var a: A = undefined;
+ const a_idx: u64 = 27;
+ if (try dbi.has(a_idx)) {
+ a = try dbi.get(a_idx, A);
+ } else {
+ a = A{ .ml = try List(usize).init(txn) };
+ try dbi.put(a_idx, a);
+ }
+
+ var ml = try a.ml.open(txn);
+
+ const len = ml.len();
+ std.debug.print("{}\n", .{len});
+ const newest = try ml.append(len * 10);
+ std.debug.print("{}: {}\n", .{ newest, try ml.get(newest) });
+ var it = ml.iterator();
+ while (it.next()) |i| {
+ std.debug.print("{}: {}\n", .{ i.key, i.val });
+ }
+}
+
+test "setlist" {
+ var env = try lmdb.Env.open("db", 1024 * 1024 * 1);
+ // env.sync();
+ defer env.close();
+
+ var txn = try env.txn();
+ defer txn.commit() catch {};
+
+ var dbi = try txn.dbi("ghi");
+
+ const A = struct {
ml: SetList(usize, usize),
};