LMDB
Modules | Data Structures | Typedefs
LMDB API

OpenLDAP Lightning Memory-Mapped Database Manager. More...

Modules

 Version Macros
 
 Environment Flags
 
 Database Flags
 
 Write Flags
 

Data Structures

struct  MDB_val
 Generic structure used for passing keys and data in and out of the database. More...
 

Typedefs

typedef unsigned int MDB_dbi
 A handle for an individual database in the DB environment.
 
typedef int() MDB_cmp_func(const MDB_val *a, const MDB_val *b)
 A callback function used to compare two keys in a database.
 
typedef void() MDB_rel_func(MDB_val *item, void *oldptr, void *newptr, void *relctx)
 A callback function used to relocate a position-dependent data item in a fixed-address database. More...
 

Detailed Description

OpenLDAP Lightning Memory-Mapped Database Manager.


Data Structure Documentation

◆ MDB_val

struct MDB_val

Generic structure used for passing keys and data in and out of the database.

Values returned from the database are valid only until a subsequent update operation, or the end of the transaction. Do not modify or free them, they commonly point into the database itself.

Key sizes must be between 1 and mdb_env_get_maxkeysize() inclusive. The same applies to data sizes in databases with the MDB_DUPSORT flag. Other data items can in theory be from 0 to 0xffffffff bytes long.

Data Fields

size_t mv_size
 
void * mv_data
 

Typedef Documentation

◆ MDB_rel_func

typedef void() MDB_rel_func(MDB_val *item, void *oldptr, void *newptr, void *relctx)

A callback function used to relocate a position-dependent data item in a fixed-address database.

The newptr gives the item's desired address in the memory map, and oldptr gives its previous address. The item's actual data resides at the address in item. This callback is expected to walk through the fields of the record in item and modify any values based at the oldptr address to be relative to the newptr address.

Parameters
[in,out]itemThe item that is to be relocated.
[in]oldptrThe previous address.
[in]newptrThe new address to relocate to.
[in]relctxAn application-provided context, set by mdb_set_relctx().
Todo:
This feature is currently unimplemented.