Monero
Loading...
Searching...
No Matches
MDB_cursor Struct Reference
Collaboration diagram for MDB_cursor:

Public Attributes

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

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).

Member Data Documentation

◆ mc_backup

MDB_cursor* MDB_cursor::mc_backup

Backup of the original cursor if this cursor is a shadow

◆ mc_db

MDB_db* MDB_cursor::mc_db

The database record for this cursor

◆ mc_dbflag

unsigned char* MDB_cursor::mc_dbflag

The Transaction DB Flags for this database

◆ mc_dbi

MDB_dbi MDB_cursor::mc_dbi

The database handle this cursor operates on

◆ mc_dbx

MDB_dbx* MDB_cursor::mc_dbx

The database auxiliary record for this cursor

◆ mc_flags

unsigned int MDB_cursor::mc_flags

◆ mc_ki

indx_t MDB_cursor::mc_ki[CURSOR_STACK]

stack of page indices

◆ mc_next

MDB_cursor* MDB_cursor::mc_next

Next cursor on this DB in this txn

◆ mc_pg

MDB_page* MDB_cursor::mc_pg[CURSOR_STACK]

stack of pushed pages

◆ mc_snum

unsigned short MDB_cursor::mc_snum

number of pushed pages

◆ mc_top

unsigned short MDB_cursor::mc_top

index of top page, normally mc_snum-1

◆ mc_txn

MDB_txn* MDB_cursor::mc_txn

The transaction that owns this cursor

◆ mc_xcursor

struct MDB_xcursor* MDB_cursor::mc_xcursor

Context used for databases with MDB_DUPSORT, otherwise NULL


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