mirror of
https://github.com/isar/libmdbx.git
synced 2024-10-29 23:19:20 +08:00
mdbx: release v0.9.1
Added features: - Preliminary C++ API with support for C++17 polymorphic allocators. - [Online C++ API reference](https://erthink.github.io/libmdbx/) by Doxygen. - Quick reference for Insert/Update/Delete operations. - Explicit `MDBX_SYNC_DURABLE` to sync modes for API clarity. - Explicit `MDBX_ALLDUPS` and `MDBX_UPSERT` for API clarity. - Support for read transactions preparation (`MDBX_TXN_RDONLY_PREPARE` flag). - Support for cursor preparation/(pre)allocation and reusing (`mdbx_cursor_create()` and `mdbx_cursor_bind()` functions). - Support for checking database using specified meta-page (see `mdbx_chk -h`). - Support for turn to the specific meta-page after checking (see `mdbx_chk -h`). - Support for explicit reader threads (de)registration. - The `mdbx_txn_break()` function to explicitly mark a transaction as broken. - Improved handling of corrupted databases by `mdbx_chk` utility and `mdbx_walk_tree()` function. - Improved DB corruption detection by checking parent-page-txnid. - Improved opening large DB (> 4Gb) from 32-bit code. - Provided `pure-function` and `const-function` attributes to C API. - Support for user-settable context for transactions & cursors. - Revised API and documentation related to Handle-Slow-Readers callback feature. Deprecated functions and flags: - For clarity and API simplification the `MDBX_MAPASYNC` flag is deprecated. Just use `MDBX_SAFE_NOSYNC` or `MDBX_UTTERLY_NOSYNC` instead of it. - `MDBX_oom_func`, `mdbx_env_set_oomfunc()` and `mdbx_env_get_oomfunc()` replaced with `MDBX_hsr_func`, `mdbx_env_get_hsr` and `mdbx_env_get_hsr()`. Fixes: - Fix `mdbx_strerror()` for `MDBX_BUSY` error (no error description is returned). - Fix update internal meta-geo information in read-only mode (`EACCESS` or `EBADFD` error). - Fix `mdbx_page_get()` null-defer when DB corrupted (crash by `SIGSEGV`). - Fix `mdbx_env_open()` for re-opening after non-fatal errors (`mdbx_chk` unexpected failures). - Workaround for MSVC 19.27 `static_assert()` bug. - Doxygen descriptions and refinement. - Update Valgrind's suppressions. - Workaround to avoid infinite loop of 'nested' testcase on MIPS under QEMU. - Fix a lot of typos & spelling (Thanks to Josh Soref for PR). - Fix `getopt()` messages for Windows (Thanks to Andrey Sporaw for reporting). - Fix MSVC compiler version requirements (Thanks to Andrey Sporaw for reporting). - Workarounds for QEMU's bugs to run tests for cross-builded library under QEMU. - Now C++ compiler optional for building by CMake. TODO for next version(s): - Rework/speedup the implementation of the dirty page list (lazy compactification, lazy sorting via merge). - Finalize C++ API (few typos and trivia bugs are likely for now). - Packages for ROSA Linux, ALT Linux, Fedora/RHEL, Debian/Ubuntu. Change-Id: I668d77e4545d444b60708b8c64a66ce43b2c56a0
This commit is contained in:
parent
775238891a
commit
44b1a3bcff
@ -10,7 +10,7 @@ TODO:
|
||||
- Packages for ROSA Linux, ALT Linux, Fedora/RHEL, Debian/Ubuntu.
|
||||
|
||||
|
||||
## v0.9.1 2020-09-30 (scheduled)
|
||||
## v0.9.1 2020-09-30
|
||||
|
||||
Added features:
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
version: 0.9.0.{build}
|
||||
version: 0.9.1.{build}
|
||||
|
||||
environment:
|
||||
matrix:
|
||||
|
Loading…
Reference in New Issue
Block a user