---
name: "mdb_put"
section: "3"
platform: "linux"
package: "lmdb-doc"
version: "0.9.31-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mdb_put"
---

# mdb\_put(3)

Write Flags

## NAME

mdb\_put - Write Flags

## SYNOPSIS

### Modules

**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

### #define MDB\_NOOVERWRITE 0x10

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

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

### #define MDB\_CURRENT 0x40

For mdb\_cursor\_put: overwrite the current key/data pair

### #define MDB\_RESERVE 0x10000

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

### #define MDB\_APPEND 0x20000

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

### #define MDB\_APPENDDUP 0x40000

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

### #define MDB\_MULTIPLE 0x80000

Store multiple data items in one call. Only for **MDB\_DUPFIXED**.

## Variable Documentation

### size\_t MDB\_val::mv\_size

size of the data item

### void\* MDB\_val::mv\_data

address of the data item

### unsigned int MDB\_stat::ms\_psize

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

### unsigned int MDB\_stat::ms\_depth

Depth (height) of the B-tree

### size\_t MDB\_stat::ms\_branch\_pages

Number of internal (non-leaf) pages

### size\_t MDB\_stat::ms\_leaf\_pages

Number of leaf pages

### size\_t MDB\_stat::ms\_overflow\_pages

Number of overflow pages

### size\_t MDB\_stat::ms\_entries

Number of data items

### void\* MDB\_envinfo::me\_mapaddr

Address of map, if fixed

### size\_t MDB\_envinfo::me\_mapsize

Size of the data memory map

### size\_t MDB\_envinfo::me\_last\_pgno

ID of the last used page

### size\_t MDB\_envinfo::me\_last\_txnid

ID of the last committed transaction

### unsigned int MDB\_envinfo::me\_maxreaders

max reader slots in the environment

### unsigned int MDB\_envinfo::me\_numreaders

max reader slots used in the environment

## Author

Generated automatically by Doxygen for LMDB from the source code.
