[Date Prev][Date Next] [Chronological] [Thread] [Top]

LMDB docs



Hello folks

On this page: http://www.lmdb.tech/doc/starting.html

The following passage occurs:

> Because LMDB is very efficient (and usually zero-copy), the data returned in an MDB_val structure may be memory-mapped straight from disk. In other words look but do not touch (or free() for that matter). Once a transaction is closed, the values can no longer be used, so make a copy if you need to keep them after that.

The second sentence above is a bit misleading. Returned data cannot be used after a subsequent update. Not mentioning that is misleading.

Perhaps the second sentence can be replace with this:

> The values can no longer be used after a subsequent update or after the transaction ends. Make a copy if you need to keep them after that.

The documentation for `mdb_get` is correct and does mention the constraints. It’ll be nice to update this page too.

Best
KS Sreeram