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>
v0.11.3
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
Leonid Yuriev
2ba90e63b1
mdbx: remove obsolete current retired-list record from gc before reserve/backlogging free-pages to reduce looping.
2021-12-28 00:10:00 +03:00
Leonid Yuriev
b30ccbde9e
mdbx: don't reserve/backlog free-pages if retired-list was already put into gc.
2021-12-28 00:10:00 +03:00
Leonid Yuriev
c3c088b8c3
mdbx: minor unify gc-update debug logging (cosmetics).
2021-12-28 00:10:00 +03:00
gcxfd
3c82ced097
mdbx: add link to gcxfd's rust wrapper.
...
Resolve https://github.com/erthink/libmdbx/pull/255
2021-12-17 14:32:20 +03:00
Leonid Yuriev
d2377f11d3
mdbx: minor cleanup spaces in the ChangeLog (cosmetics).
2021-12-13 20:22:59 +03:00
Leonid Yuriev
c70d2d62d1
mdbx: fix mdbx_override_meta()
to avoid false-positive assertions.
...
Fixed https://github.com/erthink/libmdbx/issues/253 .
2021-12-13 13:03:49 +03:00
Leonid Yuriev
29eb4c2bed
mdbx: update ChangeLog.
2021-12-13 04:27:48 +03:00
Leonid Yuriev
4e44dc69f9
mdbx: add MDBX_SET_UPPERBOUND
for cursors.
...
Resolves https://github.com/erthink/libmdbx/issues/250 .
2021-12-13 04:24:34 +03:00
Leonid Yuriev
bee5df20fd
mdbx: fix MDBX_SHRINK_ALLOWED
collision with MDBX_ACCEDE
inside mdbx_env_sync_internal()
.
2021-12-13 04:12:43 +03:00
Leonid Yuriev
2f5606702e
mdbx-tests: explicit enable coredumps on Linux.
2021-12-13 04:12:43 +03:00
Leonid Yuriev
6f2c1e52ad
mdbx: add mdbx_cursor_get_batch()
.
...
Resolve https://github.com/erthink/libmdbx/issues/236
2021-12-11 05:58:39 +03:00
Leonid Yuriev
32e495021f
mdbx-cmake: reporting the build options (cosmetics).
2021-12-10 17:17:34 +03:00
Леонид Юрьев (Leonid Yuriev)
ca19796514
mdbx-cmake: disable C++20 for CLANG < 10.
2021-12-09 15:54:16 +03:00
Леонид Юрьев (Leonid Yuriev)
3e3560753b
mdbx-cmake: minor fix detecting Elbrus/LCC.
2021-12-09 15:52:12 +03:00
Leonid Yuriev
0265c847b8
mdbx++: remove preliminary
label from C++ API.
2021-12-09 02:10:08 +03:00
Leonid Yuriev
739e02655e
mdbx++: disable C++20 concepts for stupid AppleClang 13.x (hotfix).
2021-12-08 05:10:47 +03:00
Leonid Yuriev
df6b9028ec
mdbx: update ChangeLog.
2021-12-08 03:25:46 +03:00