Ultra fast, compact, Embedded Database for tabular and semistructured data.
fpta_filter_none
without open underlying cursor.FPTA_ETYPE
.fpta_name_refresh_filter()
and related functions to avoid refresh-overhead.Backward compatibility break:
The database format signature has been changed to prevent forward-interoperability with an previous releases, which may lead to a false positive diagnosis of database corruption due to flaws of an old library versions. This change is mostly invisible:
MDBX_SHRINK_ALLOWED
with MDBX_ACCEDE
.MDBX_RESULT_TRUE
(unexpected -1) from mdbx_env_set_option()
.mdbx_cursor_put()
for MDBX_DUPFIXED
cases.mdbx_override_meta()
to avoid false-positive assertions.MDBX_PROBLEM
error because of update an obsolete meta-page.MDBX_NOTFOUND
error in case an inexact value found for MDBX_GET_BOTH
operation.#pragma pack
fix for modern compilers.mdbx_chk
utility.madvise
while opening DB (fixes https://github.com/erthink/libmdbx/issues/231).P_DIRTY
flag (0x10
) for nested/sub-pages.Allow to predefine/override MDBX_BUILD_TIMESTAMP
for builds reproducibility.
Avoided MDBX_TXN_FULL
error for large transactions when possible.
The MDBX_READERS_LIMIT
increased to 32767
.
mdbx_chk
now skips iteration & checking of DB' records if corresponding page-tree is corrupted (to avoid SIGSEGV
, ASAN failures, etc).
Added more checks for rare/fuzzing corruption cases.
Fixed excess meta-pages checks in case mdbx_chk
is called to check the DB for a specific meta page and thus could prevent switching to the selected meta page, even if the check passed without errors.
Fixed recursive use of SRW-lock on Windows cause by MDBX_NOTLS
option.
Fixed installation by CMake
in special cases by complete use GNUInstallDirs
's variables.
Fixed safe64_reset()
for platforms without atomic 64-bit compare-and-swap.
Fixed hang/shutdown on big-endian platforms without __cxa_thread_atexit()
.
Fixed using bad meta-pages if DB was partially/recoverable corrupted.
Fixed bootid
generation on Windows for case of change system' time.
Added -p
option to mdbx_stat
utility for printing page operations statistic.
Added fallback from OFD locking to legacy non-OFD POSIX file locks on an EINVAL
error.
Added Plan 9 network file system to the whitelist for an ability to open a DB in exclusive mode.
Support for opening from WSL2 environment a DB hosted on Windows drive and mounted via DrvFs (i.e by Plan 9 noted above).
Fixed confusing/messy errors when build library from unfit github's archives (https://github.com/erthink/libmdbx/issues/197).
Fixed #elsif
typo.
Fixed rare unexpected MDBX_PROBLEM
error during altering data in huge transactions due to wrong spilling/oust of dirty pages (https://github.com/erthink/libmdbx/issues/195).
Re-Fixed WSL1/WSL2 detection with distinguishing (https://github.com/erthink/libmdbx/issues/97).
The database format signature has been changed to prevent forward-interoperability with an previous releases, which may lead to a false positive diagnosis of database corruption due to flaws of an old library versions.
This change is mostly invisible: