mdbx: 'runtime options' feature release.

Resolve https://github.com/erthink/libmdbx/issues/128

Change-Id: I67411f623ecb917d3be1cdc6aa78b879d8e68b4c
This commit is contained in:
Leonid Yuriev 2021-01-23 01:13:20 +03:00
parent 4ae2a107bf
commit 4e13d1239a
2 changed files with 14 additions and 2 deletions

View File

@ -25,6 +25,18 @@ New features:
- Package for FreeBSD is available now by Mahlon E. Smith.
- New API functions to get/set various options (https://github.com/erthink/libmdbx/issues/128).
- the maximum number of named databases for the environment;
- the maximum number of threads/reader slots;
- threshold (since the last unsteady commit) to force flush the data buffers to disk;
- relative period (since the last unsteady commit) to force flush the data buffers to disk;
- limit to grow a list of reclaimed/recycled page's numbers for finding a sequence of contiguous pages for large data items;
- limit to grow a cache of dirty pages for reuse in the current transaction;
- limit of a pre-allocated memory items for dirty pages;
- limit of dirty pages for a write transaction;
- initial allocation size for dirty pages list of a write transaction;
- maximal part of the dirty pages may be spilled when necessary;
- minimal part of the dirty pages should be spilled when necessary;
- how much of the parent transaction dirty pages will be spilled while start each child transaction;
- Unlimited/Dynamic size of retired and dirty page lists (https://github.com/erthink/libmdbx/issues/123).
- Added `-p` option (purge subDB before loading) to `mdbx_load` tool.
- Reworked spilling of large transaction and committing of nested transactions.

4
mdbx.h
View File

@ -1929,11 +1929,11 @@ enum MDBX_option_t {
* should be spilled when reached the condition described above. */
MDBX_opt_spill_min_denominator,
/** \brief Controls the in-process how part of the parent transaction dirty
/** \brief Controls the in-process how much of the parent transaction dirty
* pages will be spilled while start each child transaction.
*
* \details The `MDBX_opt_spill_parent4child_denominator` defines the
* denominator to determine how part of parent transaction dirty pages will be
* denominator to determine how much of parent transaction dirty pages will be
* spilled explicitly while start each child transaction.
* Exactly `pages_to_spill = dirty_pages / N`,
* where `N` is the value set by `MDBX_opt_spill_parent4child_denominator`.