Loading...
Searching...
No Matches
Write Flags
LMDB API

## Topics

| Copy Flags

## Macros

#define | MDB_NOOVERWRITE 0x10
#define | MDB_NODUPDATA 0x20
#define | MDB_CURRENT 0x40
#define | MDB_RESERVE 0x10000
#define | MDB_APPEND 0x20000
#define | MDB_APPENDDUP 0x40000
#define | MDB_MULTIPLE 0x80000

## Variables

size_t | MDB_val::mv_size
void * | MDB_val::mv_data
unsigned int | MDB_stat::ms_psize
unsigned int | MDB_stat::ms_depth
size_t | MDB_stat::ms_branch_pages
size_t | MDB_stat::ms_leaf_pages
size_t | MDB_stat::ms_overflow_pages
size_t | MDB_stat::ms_entries
void * | MDB_envinfo::me_mapaddr
size_t | MDB_envinfo::me_mapsize
size_t | MDB_envinfo::me_last_pgno
size_t | MDB_envinfo::me_last_txnid
unsigned int | MDB_envinfo::me_maxreaders
unsigned int | MDB_envinfo::me_numreaders

## Detailed Description

### LMDB Command Line Tools

The following describes the command line tools that are available for LMDB.

- mdb_copy - environment copy tool
- mdb_dump - environment export tool
- mdb_load - environment import tool
- mdb_stat - environment status tool

## Macro Definition Documentation

## MDB_NOOVERWRITE

#define MDB_NOOVERWRITE 0x10

For put: Don't write if the key already exists.

## MDB_NODUPDATA

#define MDB_NODUPDATA 0x20

Only for MDB_DUPSORT
For put: don't write if the key and data pair already exist.
For mdb_cursor_del: remove all duplicate data items.

## MDB_CURRENT

#define MDB_CURRENT 0x40

For mdb_cursor_put: overwrite the current key/data pair

## MDB_RESERVE

#define MDB_RESERVE 0x10000

For put: Just reserve space for data, don't copy it. Return a pointer to the reserved space.

## MDB_APPEND

#define MDB_APPEND 0x20000

Data is being appended, don't split full pages.

## MDB_APPENDDUP

#define MDB_APPENDDUP 0x40000

Duplicate data is being appended, don't split full pages.

## MDB_MULTIPLE

#define MDB_MULTIPLE 0x80000

Store multiple data items in one call. Only for MDB_DUPFIXED.

## Variable Documentation

## mv_size

size_t MDB_val::mv_size

size of the data item

## mv_data

void* MDB_val::mv_data

address of the data item

## ms_psize

unsigned int MDB_stat::ms_psize

Size of a database page. This is currently the same for all databases.

## ms_depth

unsigned int MDB_stat::ms_depth

Depth (height) of the B-tree

## ms_branch_pages

size_t MDB_stat::ms_branch_pages

Number of internal (non-leaf) pages

## ms_leaf_pages

size_t MDB_stat::ms_leaf_pages

Number of leaf pages

## ms_overflow_pages

size_t MDB_stat::ms_overflow_pages

Number of overflow pages

## ms_entries

size_t MDB_stat::ms_entries

Number of data items

## me_mapaddr

void* MDB_envinfo::me_mapaddr

Address of map, if fixed

## me_mapsize

size_t MDB_envinfo::me_mapsize

Size of the data memory map

## me_last_pgno

size_t MDB_envinfo::me_last_pgno

ID of the last used page

## me_last_txnid

size_t MDB_envinfo::me_last_txnid

ID of the last committed transaction

## me_maxreaders

unsigned int MDB_envinfo::me_maxreaders

max reader slots in the environment

## me_numreaders

unsigned int MDB_envinfo::me_numreaders

max reader slots used in the environment