One of the fastest embeddable key-value ACID database without WAL. libmdbx surpasses the legendary LMDB in terms of reliability, features and performance.
The stable release with the complete workaround for an incoherence flaw of Linux unified page/buffer cache. Nonetheless the cause for this trouble may be an issue of Intel CPU cache/MESI. See issue#269 for more information.
mdbx::cursor::find_multivalue()
.lib-static
and lib-shared
targets for make.Please refer to the ChangeLog for more historical information and actual TODOs.
SHA256 checksums
c15168cc97d8d2eb182f9b18f44295d72523d6654a2e34a5c634c62855047606 libmdbx-amalgamated-0.11.6.tar.gz
f95524829d01361abeabc1283db6c1418c94629d01dd2766c574d1e534217c35 libmdbx-amalgamated-0_11_6.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
The bobsolete hotfix release for a flaw of Linux unified page/buffer cache. See issue#269 for more information.
SIGSEGV
while open DB with overrided non-default page size.mdbx_env_open()
idempotence in failure cases.mdbx_update_gc()
to avoid non-reclamation in a rare cases.__attribute__((__pure__))
) to avoid compiler misoptimization.__ARM_FEATURE_UNALIGNED
defined.Please refer to the ChangeLog for more historical information and actual TODOs.
SHA256 checksums
d6f42ed3d910046eb1df8a6dc1e7959d59a409c1d0d7250837a843e2b5f43bd2 libmdbx-amalgamated-0.11.5.tar.gz
88ba43a888f45718d6fc7f8b529ec9bcd40726d54feae8fa5e5892516f2acfb1 libmdbx-amalgamated-0_11_5.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
The stable release with fixes for large and huge databases sized of 4..128 TiB.
UINT64_MAX
value as maximum for given option inside mdbx_env_set_option()
.to_hex/to_base58/to_base64::output(std::ostream&)
overloads without using temporary string objects as buffers.--geometry-jitter=YES|no
option to the test framework.MDBX_opt_rp_augment_limit
for GC's records from huge transactions (Ethereum: Erigon/Akula/Silkworm).sys/sem.h
).mdbx::move_result
.&
for std::ostream &operator<<()
overloads.EXDEV
(Cross-device link) error from mdbx_env_copy()
.pgno_t
during checking PNL on 64-bit platforms.MAX_PAGENO
and DB upper-size geometry limit.pthread_barrier_t
stub).unused parameter
warning.\n
at the end.-fno-semantic interposition
option to reduce the overhead to calling self own public functions.Please refer to the ChangeLog for more historical information and actual TODOs.
SHA256 checksums
884de528f5c2abab2187b7c4c84b769d2551e1a748cbfdf0ae4c0f5c9f8dbd27 libmdbx-amalgamated-0.11.4.tar.gz
a4cbe9b81df78ef6ab14276d31bdb3c982fe5b78cc26fb54aed785c2048f5947 libmdbx-amalgamated-0_11_4.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
mdbx_cursor_get_batch()
.MDBX_SET_UPPERBOUND
.MDBX_SHRINK_ALLOWED
with MDBX_ACCEDE
.MDBX_RESULT_TRUE
(unexpected -1) from mdbx_env_set_option()
.mdbx_env_get_syncbytes()
and mdbx_env_get_syncperiod()
.MDBX_INTEGERKEY
.mdbx_env_sync_internal()
.mdbx_cursor_put()
for MDBX_DUPFIXED
cases.mdbx_env_info_ex()
.mdbx_override_meta()
to avoid false-positive assertions.MDBX_ENODATA
for some cases.Please refer to the ChangeLog for more historical information and actual TODOs.
SHA256 checksums
bede0a58803c0183ecd56aecafb77d5defe57ec16fabc34eaf810317c15efd44 libmdbx-amalgamated-0.11.3.tar.gz
03abf99bcc2ca45ff56b2c67ac50dab65e5451282fe0c1dcdd5d77073b027f11 libmdbx-amalgamated-0_11_3.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
devtoolset-9
on CentOS/RHEL 7.MDBX_PROBLEM
error because of update an obsolete meta-page.MDBX_NOTFOUND
error in case an inexact value found for MDBX_GET_BOTH
operation.constexpr
-related macros for legacy compilers.CMAKE_CXX_STANDARD
using an environment variable.MDBX_FORCE_BUILD_AS_MAIN_PROJECT
cmake option.#undef P_DIRTY
.Please refer to the ChangeLog for more historical information and actual TODOs.
SHA256 checksums
efe64856e934621adf104385fad788e679c41e2df3eae96ab35caf19403c75e2 libmdbx-amalgamated-0.11.2.tar.gz
2170d2f812a1df83ccb70e2978ee520d3fa9b254641d5834e2da0fc400fdd69a libmdbx-amalgamated-0_11_2.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
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:
Please refer to the ChangeLog for more historical information and actual TODOs.
SHA256 checksums
f954ba8c9768914a92c2b46aac0d66bec674dbb4d7b0f01e362ea2921746ddaa libmdbx-amalgamated-0.11.1.tar.gz
dcc36463dd5239b2ed21eda58eddbefa695eddebef86cdaae3dac5dc89a575df libmdbx-amalgamated-0_11_1.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
Unfortunately, the v0.10.5
accidentally comes not full-compatible with previous releases:
v0.10.5
can read/processing DBs created by previous releases, i.e. the backward-compatibility is provided;v0.10.5
, i.e. the forward-compatibility is broken for v0.10.4
and earlier.This cannot be fixed, as it requires fixing past versions, which as a result we will just get a current version.
Therefore, it is recommended to use v0.11.1
instead of v0.10.5
.
#pragma pack
fix for modern compilers.
mdbx_chk
utility.@MAIN
and @GC
sub-databases of a last committed modification transaction's ID.SHA256 checksums
67bc2db4de771a9cb3eea41536b37dbfad21b3df1e7e00f2361831fd2fc5f8f7 libmdbx-amalgamated-0.10.5.tar.gz
9eb8fab53721c02e585a553c5eab0e87a888adfc59b10d816de7d6fd1fa0eecb libmdbx-amalgamated-0_10_5.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
#pragma pack
to avoid provoking some compilers to generate code with unaligned access.noexcept
for potentially throwing txn::put()
of C++ API.SHA256 checksums
e11d5339a1e1cc34407898933b62a208936fd761a2cc31e11244d581d1d2b5d0 libmdbx-amalgamated-0.10.4.tar.gz
59d60111deb27b997d5aac817898e12f82c406f3eab1d411130e60d1d6a9dbf0 libmdbx-amalgamated-0_10_4.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
cursor::erase()
overloads for key
and for key-value
.madvise
while opening DB (fixes https://github.com/erthink/libmdbx/issues/231).P_DIRTY
flag (0x10
) for nested/sub-pages.SHA256 checksums
a8f2436c4d008886e044f568a22bda44329fb1c67f175d91a929ff8e2065340a libmdbx-amalgamated-0.10.3.tar.gz
26fde175d6a80cbf3a65fbf15e7c78f4940f92089dc379fefdecaae8973f7ef2 libmdbx-amalgamated-0_10_3.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***
node-mdbx
NodeJS bindings.lmdbx-store
NodeJS bindings.MDBX_BUILD_TIMESTAMP
for builds reproducibility.long-stochastic
script.MDBX_TXN_FULL
error for large transactions when possible.MDBX_READERS_LIMIT
increased to 32767
.MDBX_TOO_LARGE
under Valgrind/ASAN if being opened DB is 100 larger than RAM (to avoid hangs and OOM).mdbx_chk
now skips iteration & checking of DB' records if corresponding page-tree is corrupted (to avoid SIGSEGV
, ASAN failures, etc).VERSION.txt
for version information instead of VERSION
to avoid collision with #include <version>
.slice::from/to_FOO_bytes()
to `slice::envisage_from/to_FOO_length()'.MDBX_TEST_EXTRA
make's variable to MDBX_SMOKE_EXTRA
.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.MDBX_NOTLS
option.mdbx_cursor_eof()
result.make install
with non-GNU install
utility (OSX, BSD).CMake
in special cases by complete use GNUInstallDirs
's variables.std::string
and alignment.safe64_reset()
for platforms without atomic 64-bit compare-and-swap.__cxa_thread_atexit()
.noexcept
for buffer::&assign_reference()
.bootid
generation on Windows for case of change system' time.mdbx_chk
functional to the library API.MDBX_NOTLS
option.SHA256 checksums
745555704df76626a6612ad0c6bc6b1a66bfab98b9245b07dfb82640aa46d6fa libmdbx-amalgamated-0.10.2.tar.gz
95ca553437d99bb320216592a1b36cc20ef90feeb7dc413875f8e8a2a1d56c72 libmdbx-amalgamated-0_10_2.zip
*** Please don't use github's tarballs nor zips, but the amalgamated sources or clone the git repository *** *** Moreover, please vote for "disable tarballs" feature to vanish this discommodity ***