MDB_node Struct Reference
[LMDB Internals]

Data Fields

unsigned short mn_flags
unsigned short mn_ksize
char mn_data [1]



unsigned short mn_lo
unsigned short mn_hi

Detailed Description

Header for a single key/data pair within a page. Used in pages of type P_BRANCH and P_LEAF without P_LEAF2. We guarantee 2-byte alignment for 'MDB_node's.

mn_lo and mn_hi are used for data size on leaf nodes, and for child pgno on branch nodes. On 64 bit platforms, mn_flags is also used for pgno. (Branch nodes have no flags). Lo and hi are in host byte order in case some accesses can be optimized to 32-bit word access.

Leaf node flags describe node contents. F_BIGDATA says the node's data part is the page number of an overflow page with actual data. F_DUPDATA and F_SUBDATA can be combined giving duplicate data in a sub-page/sub-database, and named databases (just F_SUBDATA).


Field Documentation

unsigned short MDB_node::mn_lo

part of data size or pgno

unsigned short MDB_node::mn_hi

part of data size or pgno

unsigned short MDB_node::mn_flags
unsigned short MDB_node::mn_ksize

key size

key and data are appended here


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 3 Apr 2026 for LMDB by  doxygen 1.6.1