Monero
Loading...
Searching...
No Matches
MDB_page Struct Reference

Classes

union  [union].mp_p
union  [union].mp_pb

Public Attributes

union  mp_p
uint16_t mp_pad
uint16_t mp_flags
union  mp_pb
indx_t mp_ptrs [1]

Detailed Description

Common header for all page types. The page type depends on mp_flags.

P_BRANCH and P_LEAF pages have unsorted 'MDB_node's at the end, with sorted mp_ptrs[] entries referring to them. Exception: P_LEAF2 pages omit mp_ptrs and pack sorted MDB_DUPFIXED values after the page header.

P_OVERFLOW records occupy one or more contiguous pages where only the first has a page header. They hold the real data of F_BIGDATA nodes.

P_SUBP sub-pages are small leaf "pages" with duplicate data. A node with flag F_DUPDATA but not F_SUBDATA contains a sub-page. (Duplicate data can also go in sub-databases, which use normal pages.)

P_META pages contain MDB_meta, the start point of an LMDB snapshot.

Each non-metapage up to MDB_meta.mm_last_pg is reachable exactly once in the snapshot: Either used by a database or listed in a freeDB record.

Member Data Documentation

◆ mp_flags

uint16_t MDB_page::mp_flags

◆ mp_p

union MDB_page::[union].mp_p MDB_page::mp_p

◆ mp_pad

uint16_t MDB_page::mp_pad

key size if this is a LEAF2 page

◆ mp_pb

union MDB_page::[union].mp_pb MDB_page::mp_pb

◆ mp_ptrs

indx_t MDB_page::mp_ptrs[1]

dynamic size


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