local lmdb = require 'lmdb' local M = {} local db function M.get() if not db then db = assert(lmdb.open("data", {maxdbs = 256})) end local txn = db:txn_begin(true) local meta = txn:open("meta", true) if not meta.version then version = 1 end txn:open("users", true) txn:open("usernames", true) txn:open("emails", true) txn:commit() return db end function M.txn(write_enabled) return M.get():txn_begin(write_enabled) end M.next = lmdb.next return M