X-Git-Url: https://gitweb.ps.run/ziglmdb/blobdiff_plain/b418996b9b61fee6f1d2b8ca325637ea192cd3b8..HEAD:/src/lmdb.zig diff --git a/src/lmdb.zig b/src/lmdb.zig index 637bd26..b7d97ea 100644 --- a/src/lmdb.zig +++ b/src/lmdb.zig @@ -1,8 +1,6 @@ const std = @import("std"); const lmdb = @cImport(@cInclude("lmdb.h")); -pub usingnamespace lmdb; - pub const Cursor = struct { const Self = @This(); @@ -53,7 +51,7 @@ pub const Cursor = struct { pub fn get(self: Self, k: anytype, comptime V: type, flags: Flags) !?V { const k_ti = @typeInfo(@TypeOf(k)); - const K = k_ti.Pointer.child; + const K = k_ti.pointer.child; var key = lmdb.MDB_val{ .mv_size = @sizeOf(K), @@ -90,7 +88,7 @@ pub const Cursor = struct { pub fn has(self: Self, k: anytype, flags: Flags) !bool { const k_ti = @typeInfo(@TypeOf(k)); - const K = k_ti.Pointer.child; + const K = k_ti.pointer.child; var key = lmdb.MDB_val{ .mv_size = @sizeOf(K), @@ -207,7 +205,7 @@ pub const Txn = struct { ptr: ?*lmdb.MDB_txn = undefined, env: Env = undefined, - pub fn dbi(self: Txn, name: [:0]const u8) !Dbi { + pub fn dbi(self: Txn, name: ?[:0]const u8) !Dbi { var result = Dbi{ .env = self.env, .txn = self }; // TODO: lmdb.MDB_INTEGERKEY? switch (lmdb.mdb_dbi_open(self.ptr, @ptrCast(name), lmdb.MDB_CREATE, &result.ptr)) { @@ -247,7 +245,7 @@ pub const Env = struct { _ = lmdb.mdb_env_create(&result.ptr); _ = lmdb.mdb_env_set_maxdbs(result.ptr, 10); _ = lmdb.mdb_env_set_mapsize(result.ptr, size); - const res = lmdb.mdb_env_open(result.ptr, name, lmdb.MDB_WRITEMAP, 0o664); + const res = lmdb.mdb_env_open(result.ptr, name, lmdb.MDB_WRITEMAP | lmdb.MDB_NOSUBDIR, 0o664); // _ = lmdb.mdb_env_open(result.ptr, name, lmdb.MDB_NOSYNC | lmdb.MDB_WRITEMAP, 0o664); if (res != 0) { @@ -339,7 +337,7 @@ test "cursor" { } while (try cursor.get(&key, Value, .Next)) |val| { - std.debug.print("{}: {?}\n", .{ key, val }); + std.debug.print("{}: {}\n", .{ key, val }); } }