mdbx: merge branch 'master' into devel.

Change-Id: Ib1d07cf6eb2e4c76b3be969b28bf2317cb326835
This commit is contained in:
Leonid Yuriev 2020-12-03 18:42:10 +03:00
commit 90309ec0bf
4 changed files with 26 additions and 9 deletions

View File

@ -137,6 +137,7 @@ calloc
cas cas
casename casename
cassert cassert
castis
castortech castortech
cattr cattr
cbegin cbegin
@ -1391,6 +1392,7 @@ rw
samedata samedata
samelength samelength
SAMSUNG SAMSUNG
sasgas
savailable savailable
scalability scalability
sched sched

View File

@ -30,3 +30,4 @@ Contributors
- Sebastien Launay <sebastien@slaunay.fr> - Sebastien Launay <sebastien@slaunay.fr>
- Vladimir Romanov <vromanov@gmail.com> - Vladimir Romanov <vromanov@gmail.com>
- Zano Foundation <crypto.sowle@gmail.com> - Zano Foundation <crypto.sowle@gmail.com>
- 장세연 <sasgas@castis.com>

View File

@ -3,6 +3,7 @@ ChangeLog
## v0.9.3 (in development) ## v0.9.3 (in development)
TODO:
- Engage new terminology (https://github.com/erthink/libmdbx/issues/137). - Engage new terminology (https://github.com/erthink/libmdbx/issues/137).
- Rework/speedup the implementation of the dirty page list (lazy compactification, lazy sorting via merge). - Rework/speedup the implementation of the dirty page list (lazy compactification, lazy sorting via merge).
- Resolve few TODOs (https://github.com/erthink/libmdbx/issues/123, https://github.com/erthink/libmdbx/issues/124, - Resolve few TODOs (https://github.com/erthink/libmdbx/issues/123, https://github.com/erthink/libmdbx/issues/124,
@ -11,10 +12,25 @@ ChangeLog
- Finalize C++ API (few typos and trivia bugs are still likely for now). - Finalize C++ API (few typos and trivia bugs are still likely for now).
- Packages for ROSA Linux, ALT Linux, Fedora/RHEL, Debian/Ubuntu. - Packages for ROSA Linux, ALT Linux, Fedora/RHEL, Debian/Ubuntu.
Acknowledgements:
- Mahlon E. Smith (http://www.martini.nu/) for FreeBSD port of libmdbx.
- 장세연 (http://www.castis.com) for bug fixing and PR.
Removed options and features: Removed options and features:
- Drop `MDBX_HUGE_TRANSACTIONS` build-option (now no longer required). - Drop `MDBX_HUGE_TRANSACTIONS` build-option (now no longer required).
Added 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).
- Unlimited/Dynamic size of retired and dirty page lists (https://github.com/erthink/libmdbx/issues/123).
Fixes:
- Fixed 4-byte aligned access to 64-bit integers.
- Fixed missing cleanup (null assigned) in the C++ commit/abort (https://github.com/erthink/libmdbx/pull/143).
## v0.9.2 scheduled at 2020-11-27 ## v0.9.2 scheduled at 2020-11-27

View File

@ -1314,20 +1314,18 @@ txn_managed::~txn_managed() noexcept {
void txn_managed::abort() { void txn_managed::abort() {
const error err = static_cast<MDBX_error_t>(::mdbx_txn_abort(handle_)); const error err = static_cast<MDBX_error_t>(::mdbx_txn_abort(handle_));
if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS)) { if (MDBX_LIKELY(err.code() != MDBX_THREAD_MISMATCH))
if (err.code() != MDBX_THREAD_MISMATCH) handle_ = nullptr;
handle_ = nullptr; if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS))
err.throw_exception(); err.throw_exception();
}
} }
void txn_managed::commit() { void txn_managed::commit() {
const error err = static_cast<MDBX_error_t>(::mdbx_txn_commit(handle_)); const error err = static_cast<MDBX_error_t>(::mdbx_txn_commit(handle_));
if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS)) { if (MDBX_LIKELY(err.code() != MDBX_THREAD_MISMATCH))
if (err.code() != MDBX_THREAD_MISMATCH) handle_ = nullptr;
handle_ = nullptr; if (MDBX_UNLIKELY(err.code() != MDBX_SUCCESS))
err.throw_exception(); err.throw_exception();
}
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------