Electroneum
lmdb::table Struct Reference

Helper for grouping typical LMDB DBI options. More...

#include <table.h>

Inheritance diagram for lmdb::table:

Public Member Functions

expect< MDB_dbiopen (MDB_txn &write_txn) const noexcept
 

Public Attributes

char const *const name
 
const unsigned flags
 
MDB_cmp_func *const key_cmp
 
MDB_cmp_func *const value_cmp
 

Detailed Description

Helper for grouping typical LMDB DBI options.

Definition at line 14 of file table.h.

Member Function Documentation

◆ open()

expect< MDB_dbi > lmdb::table::open ( MDB_txn write_txn) const
noexcept
Precondition
name != nullptr
Returns
Open table.

Definition at line 31 of file table.cpp.

32  {
33  ELECTRONEUM_PRECOND(name != nullptr);
34 
35  MDB_dbi out;
37  if (key_cmp && !(flags & MDB_INTEGERKEY))
39  if (value_cmp && !(flags & MDB_INTEGERDUP))
41  return out;
42  }
int mdb_dbi_open(MDB_txn *txn, const char *name, unsigned int flags, MDB_dbi *dbi)
Open a database in the environment.
const unsigned flags
Definition: table.h:17
MDB_cmp_func *const key_cmp
Definition: table.h:18
#define ELECTRONEUM_LMDB_CHECK(...)
Executes a LMDB command, and returns errors via lmdb::error enum.
Definition: error.h:33
int mdb_set_dupsort(MDB_txn *txn, MDB_dbi dbi, MDB_cmp_func *cmp)
Set a custom data comparison function for a MDB_DUPSORT database.
std::unique_ptr< MDB_txn, abort_write_txn > write_txn
Definition: transaction.h:94
MDB_cmp_func *const value_cmp
Definition: table.h:19
#define MDB_INTEGERDUP
Definition: lmdb.h:353
char const *const name
Definition: table.h:16
#define MDB_INTEGERKEY
Definition: lmdb.h:349
int mdb_set_compare(MDB_txn *txn, MDB_dbi dbi, MDB_cmp_func *cmp)
Set a custom key comparison function for a database.
unsigned int MDB_dbi
A handle for an individual database in the DB environment.
Definition: lmdb.h:270
#define ELECTRONEUM_PRECOND(...)
If precondition fails, return ::error::kInvalidArgument in current scope.
Definition: expect.h:39
Here is the call graph for this function:

Member Data Documentation

◆ flags

const unsigned lmdb::table::flags

Definition at line 17 of file table.h.

◆ key_cmp

MDB_cmp_func* const lmdb::table::key_cmp

Definition at line 18 of file table.h.

◆ name

char const* const lmdb::table::name

Definition at line 16 of file table.h.

◆ value_cmp

MDB_cmp_func* const lmdb::table::value_cmp

Definition at line 19 of file table.h.


The documentation for this struct was generated from the following files: