|
Monero
|
Public Attributes | |
| unsigned short | mn_flags |
| unsigned short | mn_ksize |
| char | mn_data [1] |
| unsigned short | mn_lo |
| unsigned short | mn_hi |
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).
| char MDB_node::mn_data[1] |
key and data are appended here
| unsigned short MDB_node::mn_flags |
| unsigned short MDB_node::mn_hi |
| unsigned short MDB_node::mn_ksize |
key size
| unsigned short MDB_node::mn_lo |
part of data size or pgno