mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-01 23:34:13 +08:00
mdbx: 'runtime options' feature release.
Resolve https://github.com/erthink/libmdbx/issues/128 Change-Id: I67411f623ecb917d3be1cdc6aa78b879d8e68b4c
This commit is contained in:
parent
4ae2a107bf
commit
4e13d1239a
12
ChangeLog.md
12
ChangeLog.md
@ -25,6 +25,18 @@ New features:
|
|||||||
|
|
||||||
- Package for FreeBSD is available now by Mahlon E. Smith.
|
- 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).
|
- 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).
|
- 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.
|
- Added `-p` option (purge subDB before loading) to `mdbx_load` tool.
|
||||||
- Reworked spilling of large transaction and committing of nested transactions.
|
- Reworked spilling of large transaction and committing of nested transactions.
|
||||||
|
4
mdbx.h
4
mdbx.h
@ -1929,11 +1929,11 @@ enum MDBX_option_t {
|
|||||||
* should be spilled when reached the condition described above. */
|
* should be spilled when reached the condition described above. */
|
||||||
MDBX_opt_spill_min_denominator,
|
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.
|
* pages will be spilled while start each child transaction.
|
||||||
*
|
*
|
||||||
* \details The `MDBX_opt_spill_parent4child_denominator` defines the
|
* \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.
|
* spilled explicitly while start each child transaction.
|
||||||
* Exactly `pages_to_spill = dirty_pages / N`,
|
* Exactly `pages_to_spill = dirty_pages / N`,
|
||||||
* where `N` is the value set by `MDBX_opt_spill_parent4child_denominator`.
|
* where `N` is the value set by `MDBX_opt_spill_parent4child_denominator`.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user