mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-02 01:44:14 +08:00
mdbx: merge branch 'master' into devel.
Change-Id: Ib1d07cf6eb2e4c76b3be969b28bf2317cb326835
This commit is contained in:
commit
90309ec0bf
2
.github/actions/spelling/expect.txt
vendored
2
.github/actions/spelling/expect.txt
vendored
@ -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
|
||||||
|
1
AUTHORS
1
AUTHORS
@ -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>
|
||||||
|
18
ChangeLog.md
18
ChangeLog.md
@ -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
|
||||||
|
14
src/mdbx.c++
14
src/mdbx.c++
@ -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();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user