Leonid Yuriev
207124e7fb
mdbx: use -fno-semantic-interposition
.
2022-01-25 18:19:56 +03:00
Leonid Yuriev
86d4e37327
mdbx: fix minor copy-paste errors in descriptions.
2022-01-25 01:08:14 +03:00
Leonid Yuriev
e7e82cb289
mdbx: minor refine README.
2022-01-23 00:16:01 +03:00
Leonid Yuriev
9ae56332d7
mdbx: fix Coverity warnings.
2022-01-22 18:01:31 +03:00
Leonid Yuriev
03d828834b
mdbx: schedule the release of v0.11.4 for 2022-01-28.
2022-01-21 15:43:17 +03:00
Leonid Yuriev
97beb8ee53
mdbx: update ChangeLog.
2022-01-21 15:01:48 +03:00
Leonid Yuriev
03381fa469
mdbx++: clarify comments for mdbx::byte
and char8_t
usage.
...
Related to https://github.com/erthink/libmdbx/issues/263 .
2022-01-21 15:00:34 +03:00
Leonid Yuriev
75b23524bd
mdbx-doc: minor refine mdbx_env_set_geometry()
description.
2022-01-21 11:44:05 +03:00
Leonid Yuriev
cd2c5f594c
mdbx: rework checking MAX_PAGENO
and DB upper-size limit.
...
Related to https://github.com/erthink/libmdbx/issues/260 .
2022-01-21 02:25:27 +03:00
Leonid Yuriev
50b843ecb7
mdbx-test: more for --ignore-dbfull
.
2022-01-21 02:13:48 +03:00
Leonid Yuriev
981b10d10a
mdbx-test: add --geometry-jitter=YES|no
option.
2022-01-21 02:13:48 +03:00
Leonid Yuriev
e1bcdb8e9a
mdbx-make: prefer clang-format-13 or later.
2022-01-21 02:13:48 +03:00
Leonid Yuriev
ddef217047
mdbx: relax txn-check rules for auxiliary functions.
2022-01-21 02:13:48 +03:00
Leonid Yuriev
3e28cc2a25
mdbx: allow mdbx_dbi_flags_ex()
for errored transactions.
2022-01-21 02:13:48 +03:00
Leonid Yuriev
f4cc7b3609
mdbx: add .err
to .gitignore
.
2022-01-21 02:13:48 +03:00
Leonid Yuriev
8779f665dc
mdbx: fix excessive PNL checking after sort for spilling.
...
This bug triggered only in the DEBUG builds or when the assertion checking is forcibly enabled.
It does not affect any core logic and cannot lead to DB corruption, data loss, and so on.
Fixes https://github.com/erthink/libmdbx/issues/260 .
2022-01-20 15:25:35 +03:00
Leonid Yuriev
52552ebfe3
mdbx++: fix MSVC warnings/errors.
2022-01-19 21:08:01 +03:00
Leonid Yuriev
a6acc9d1a3
mdbx++: fix minor comment typo.
...
Change-Id: Ic169523218b366be0688ab92b76c4120df829ba3
2022-01-17 11:06:27 +03:00
Leonid Yuriev
c588af6aca
mdbx: update Copyright year.
...
Change-Id: Ib3e4c0ac94882c4b2a1e167dd98e6e26dbdf48a4
2022-01-17 11:06:14 +03:00
Leonid Yuriev
c076979225
mdbx++: add workaround for modern libstd++ with CLANG < 4.x
...
Change-Id: Ic82694f4f51bfdb2d6f6f072fdf9af791c0eb6f8
2022-01-17 11:06:07 +03:00
Leonid Yuriev
f2995ac75b
mdbx++: add assertions for destination-overflow to from/to hex/base58/base64::write_bytes().
...
Change-Id: I5a1f23dcb1dc1942f9d72966a78080eacfacf546
2022-01-15 18:52:12 +03:00
Leonid Yuriev
b5b0a9a284
mdbx++: add to_hex/to_base58/to_base64::output(std::ostream&)
without using temporary objects/buffers/strings.
...
Change-Id: Ideffd0e7f450307e14d780dcdeb2458c1c7e4c18
2022-01-15 18:52:12 +03:00
Leonid Yuriev
b139d8165b
mdbx++: refine line splitting inside to_hex/to_base58/to_base64 to avoid \n
at the end.
...
Change-Id: I53fb1f31ac5fc41567826a9035b0080fd62c8ade
2022-01-15 18:51:56 +03:00
Leonid Yuriev
ef2e390b10
mdbx++: fix from_base64::write_bytes()
.
...
Change-Id: I6c90997bffab45019a77edcf2a9dd35ae80069d3
2022-01-15 18:51:56 +03:00
Leonid Yuriev
51e6d4645c
mdbx++: fix to_base64::write_bytes()
for tail bytes.
...
Change-Id: I60defa11b7e44dcf2ac840160ab0c833484c9d39
2022-01-15 17:22:18 +03:00
Leonid Yuriev
2151be6cde
mdbx: merge branch 'issue-260' into devel.
2022-01-15 15:31:45 +03:00
Leonid Yuriev
7a06cac680
mdbx: fix unexpected EXDEV
(Cross-device link) error from mdbx_env_copy()
...
Fallback to `write()` if `copy_file_range()` syscall returns `EXDEV`.
2022-01-14 12:39:38 +03:00
yperbasis
c25df39cd0
Copy assignment operator for move_result
2022-01-13 21:07:40 +03:00
Leonid Yuriev
1813bf9e53
mdbx: avoid 32-bit pgno_t
overflow during checking PNL on 64-bit platforms.
...
Related to https://github.com/erthink/libmdbx/issues/260 .
2022-01-13 15:42:00 +03:00
Leonid Yuriev
70dab667b9
mdbx++: fix missing &
for std::ostream &operator<<()
.
2022-01-13 14:03:51 +03:00
Leonid Yuriev
30b3cc3407
mdbx: update FUNDING.
2022-01-08 20:22:04 +03:00
Leonid Yuriev
406cafb642
mdbx: treat the UINT64_MAX
value as maximum for given option inside mdbx_env_set_option()
.
2022-01-06 00:37:08 +03:00
Leonid Yuriev
9822412ebd
mdbx: update ChangeLog.
2022-01-05 19:05:58 +03:00
Leonid Yuriev
899f0fef13
mdbx-ci: add Android for github.
...
Related to https://github.com/erthink/libmdbx/issues/258 .
2022-01-05 17:47:57 +03:00
Leonid Yuriev
0df17ed359
mdbx++: disable using C++20 concepts for NDK's CLANG < 14.
2022-01-05 17:47:45 +03:00
Leonid Yuriev
9cf18176f0
mdbx-test: fix build for __ANDROID_API__ < 24
(using pthread_barrier_t
stub).
2022-01-05 17:47:45 +03:00
Leonid Yuriev
b19ebf0c2e
mdbx: fix minor unused parameter
warning.
2022-01-05 17:47:45 +03:00
Leonid Yuriev
489f7a3136
mdbx-cmake: add workaround for LTO on Android ( https://reviews.llvm.org/D79919 ).
2022-01-05 17:47:45 +03:00
Leonid Yuriev
066bb696e3
mdbx: avoid including sys/sem.h
when MDBX_LOCKING != MDBX_LOCKING_SYSV
.
...
Fixes https://github.com/erthink/libmdbx/issues/258 .
2022-01-05 17:47:09 +03:00
Leonid Yuriev
024900ee9c
mdbx: fix/refine handling options.rp_augment_limit
detent while loading GC records.
2022-01-05 11:03:21 +03:00
Leonid Yuriev
ab83d173ac
mdbx: minor refine logging for internal GC-related ops.
2022-01-05 10:50:39 +03:00
Leonid Yuriev
d316bde561
mdbx: minor cleanup comment.
2022-01-05 10:45:23 +03:00
Leonid Yuriev
38e9aa79e7
mdbx: support make dist
for debug-includes.
2022-01-05 10:45:15 +03:00
Leonid Yuriev
a6340c6b03
mdbx: minor fix open-MADV logging.
2022-01-05 10:45:15 +03:00
Leonid Yuriev
070ba5ded4
mdbx: check for GCC/clang in debug-includes (insignificant internals).
2022-01-04 13:41:25 +03:00
Leonid Yuriev
f836c928a8
mdbx: Happy New Year! (release v0.11.3).
...
Acknowledgements:
-----------------
- [gcxfd <i@rmw.link>](https://github.com/gcxfd ) for reporting, contributing and testing.
- [장세연 (Чан Се Ен)](https://github.com/sasgas ) for reporting and testing.
- [Alex Sharov](https://github.com/AskAlexSharov ) for reporting, testing and provide resources for remote debugging/investigation.
New features, extensions and improvements:
------------------------------------------
- [Added](https://github.com/erthink/libmdbx/issues/236 ) `mdbx_cursor_get_batch()`.
- [Added](https://github.com/erthink/libmdbx/issues/250 ) `MDBX_SET_UPPERBOUND`.
- C++ API is finalized now.
- The GC update stage has been [significantly speeded](https://github.com/erthink/libmdbx/issues/254 ) when fixing huge Erigon's transactions (Ethereum ecosystem).
Fixes:
------
- Disabled C++20 concepts for stupid AppleClang 13.x
- Fixed internal collision of `MDBX_SHRINK_ALLOWED` with `MDBX_ACCEDE`.
Minors:
-------
- Fixed returning `MDBX_RESULT_TRUE` (unexpected -1) from `mdbx_env_set_option()`.
- Added `mdbx_env_get_syncbytes()` and `mdbx_env_get_syncperiod()`.
- [Clarified](https://github.com/erthink/libmdbx/pull/249 ) description of `MDBX_INTEGERKEY`.
- Reworked/simplified `mdbx_env_sync_internal()`.
- [Fixed](https://github.com/erthink/libmdbx/issues/248 ) extra assertion inside `mdbx_cursor_put()` for `MDBX_DUPFIXED` cases.
- Avoiding extra looping inside `mdbx_env_info_ex()`.
- Explicitly enabled core dumps from stochastic tests scripts on Linux.
- [Fixed](https://github.com/erthink/libmdbx/issues/253 ) `mdbx_override_meta()` to avoid false-positive assertions.
- For compatibility reverted returning `MDBX_ENODATA`for some cases.
Signed-off-by: Leonid Yuriev <leo@yuriev.ru>
2021-12-31 11:52:40 +03:00
Leonid Yuriev
1786374021
mdbx: update ChangeLog.
2021-12-31 10:29:54 +03:00
Leonid Yuriev
6866fa3eaa
mdbx: revert returning MDBX_ENODATA
from cursor-next.
2021-12-30 22:12:04 +03:00
Leonid Yuriev
9511bc491a
mdbx: more unlikely()
.
2021-12-30 19:40:22 +03:00
Leonid Yuriev
ae5df65af0
mdbx: refine page_alloc()
and update_gc()
to reduce looping.
...
Resolves https://github.com/erthink/libmdbx/issues/254 .
2021-12-30 17:36:33 +03:00