MDB_cursor Struct Reference
[LMDB Internals]

Opaque structure for navigating through a database. More...

Data Fields

MDB_cursormc_next
MDB_cursormc_backup
struct MDB_xcursormc_xcursor
MDB_txnmc_txn
MDB_dbi mc_dbi
MDB_dbmc_db
MDB_dbxmc_dbx
unsigned char * mc_dbflag
unsigned short mc_snum
unsigned short mc_top
unsigned int mc_flags
MDB_pagemc_pg [CURSOR_STACK]
indx_t mc_ki [CURSOR_STACK]

Detailed Description

Opaque structure for navigating through a database.

Cursors are used for all DB operations. A cursor holds a path of (page pointer, key index) from the DB root to a position in the DB, plus other state. MDB_DUPSORT cursors include an xcursor to the current data item. Write txns track their cursors and keep them up to date when data moves. Exception: An xcursor's pointer to a P_SUBP page can be stale. (A node with F_DUPDATA but no F_SUBDATA contains a subpage).


Field Documentation

Next cursor on this DB in this txn

Backup of the original cursor if this cursor is a shadow

Context used for databases with MDB_DUPSORT, otherwise NULL

The transaction that owns this cursor

The database handle this cursor operates on

The database record for this cursor

The database auxiliary record for this cursor

unsigned char* MDB_cursor::mc_dbflag

The Transaction DB Flags for this database

unsigned short MDB_cursor::mc_snum

number of pushed pages

unsigned short MDB_cursor::mc_top

index of top page, normally mc_snum-1

unsigned int MDB_cursor::mc_flags
MDB_page* MDB_cursor::mc_pg[CURSOR_STACK]

stack of pushed pages

indx_t MDB_cursor::mc_ki[CURSOR_STACK]

stack of page indices


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

Generated on 15 Feb 2016 for LMDB by  doxygen 1.6.1