126 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
3792dd1007 mdbx: now we accept donations only in Russian Rubles. 2022-04-12 15:08:49 +03:00
Леонид Юрьев (Leonid Yuriev)
68ac48235e mdbx-ci: add if-failure step to github-actions to dump all *.err logs. 2022-04-06 12:44:30 +03:00
Леонид Юрьев (Leonid Yuriev)
b6d36e2235 mdbx-ci: add 'build by make' step info mingw action. 2022-03-30 18:50:34 +03:00
Леонид Юрьев (Leonid Yuriev)
6fbaa54d3e mdbx: remove PayPal from links for sponsorship. 2022-03-05 14:39:02 +03:00
Леонид Юрьев (Leonid Yuriev)
d01e44db0c
mdbx: release v0.11.5
The stable release with the hotfix/workaround for a flaw of Linux 4.19 (at least) unified page/buffer cache.
See [issue#269](https://github.com/erthink/libmdbx/issues/269) for more information.

Acknowledgements:
-----------------

 - [Simon Leier](https://github.com/leisim) for reporting and testing.
 - [Kai Wetlesen](https://github.com/kaiwetlesen) for [RPMs](http://copr.fedorainfracloud.org/coprs/kwetlesen/libmdbx/).
 - [Tullio Canepa](https://github.com/canepat) for reporting C++ API issue and contributing.

Fixes:
------

 - [Added workaround](https://github.com/erthink/libmdbx/issues/269) for a flaw of Linux 4.19 (at least) unified page/buffer cache.
 - [Fixed/Reworked](https://github.com/erthink/libmdbx/pull/270) move-assignment operators for "managed" classes of C++ API.
 - Fixed potential `SIGSEGV` while open DB with overrided non-default page size.
 - [Made](https://github.com/erthink/libmdbx/issues/267) `mdbx_env_open()` idempotence in failure cases.
 - Refined/Fixed pages reservation inside `mdbx_update_gc()` to avoid non-reclamation in a rare cases.
 - Fixed typo in a retained space calculation for the hsr-callback.

Minors:
-------

 - Reworked functions for meta-pages, split-off non-volatile.
 - Disentangled C11-atomic fences/barriers and pure-functions (with `__attribute__((__pure__))`) to avoid compiler misoptimization.
 - Fixed hypotetic unaligned access to 64-bit dwords on ARM with `__ARM_FEATURE_UNALIGNED` defined.
 - Reasonable paranoia that makes clarity for code readers.
 - Minor fixes Doxygen references, comments, descriptions, etc.

Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2022-02-23 20:06:30 +03:00
Леонид Юрьев (Leonid Yuriev)
1fd4101e2e mdbx: update ChangeLog. 2022-02-21 00:06:57 +03:00
Leonid Yuriev
dbba0fe18e mdbx-ci: disable broken spelling action. 2022-01-31 21:36:57 +03:00
Leonid Yuriev
fe5199b9d1 mdbx: fix/rework PNL checking during search, refine/simplify spilled pages search.
Fixes https://github.com/erthink/libmdbx/issues/260.

Change-Id: I8824f6af2f770c46668ee577aeeeb93b30b17a13
2022-01-26 13:21:21 +03:00
Leonid Yuriev
e7e82cb289 mdbx: minor refine README. 2022-01-23 00:16:01 +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
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
Leonid Yuriev
30b3cc3407 mdbx: update FUNDING. 2022-01-08 20:22:04 +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
1786374021 mdbx: update ChangeLog. 2021-12-31 10:29:54 +03:00
Leonid Yuriev
29eb4c2bed mdbx: update ChangeLog. 2021-12-13 04:27:48 +03:00
Leonid Yuriev
df6b9028ec mdbx: update ChangeLog. 2021-12-08 03:25:46 +03:00
Leonid Yuriev
5e4b2c9ddf mdbx: add BTC address for donations/sponsorship. 2021-11-27 17:02:27 +03:00
Leonid Yuriev
0cd7dfb465 mdbx-ci: add dll-path-workaround to MinGW scenario with minor cleanup. 2021-11-10 00:23:01 +03:00
Leonid Yuriev
f38b1dab13 mdbx-ci: avoid spelling warnings. 2021-11-09 13:31:23 +03:00
Leonid Yuriev
93a24abbab mdbx: fix minor/paranoid MSVC warning. 2021-10-24 02:28:28 +03:00
Leonid Yuriev
113162b651
mdbx: release v0.11.1
Backward compatibility break:
-----------------------------

The database format signature has been changed to prevent
forward-interoperability with an previous releases, which may lead to a
[false positive diagnosis of database corruption](https://github.com/erthink/libmdbx/issues/238)
due to flaws of an old library versions.

This change is mostly invisible:

 - previously versions are unable to read/write a new DBs;
 - but the new release is able to handle an old DBs and will silently upgrade ones.

Acknowledgements:
-----------------
 - [Alex Sharov](https://github.com/AskAlexSharov) for reporting and testing.

Signed-off-by: Leonid Yuriev <leo@yuriev.ru>
2021-10-23 20:15:50 +03:00
Leonid Yuriev
6737d304a6 mdbx-ci: MDBX_FORCE_ASSERTION=1 for CI-build. 2021-10-09 12:29:05 +03:00
Leonid Yuriev
c81226906a mdbx: update ChangeLog and Contributors list. 2021-09-28 00:37:33 +03:00
Leonid Yuriev
903bcd2466 mdbx-ci: switch github action from Ubuntu 16.04 to 18.04 2021-09-27 03:18:36 +03:00
Leonid Yuriev
99b75b5004 mdbx: fix/model minor Coverity issues. 2021-08-16 23:45:56 +03:00
Leonid Yuriev
68273acc2a mdbx: add and use MDBX_NOSANITIZE_ENUM macro. 2021-08-14 16:43:12 +03:00
Leonid Yuriev
8c761f5774 mdbx: update Ethereum address. 2021-08-14 00:19:40 +03:00
Leonid Yuriev
7e035115bb mdbx-doc: add ref to Haskell bindings. 2021-08-02 09:05:50 +03:00
Andrea Lanfranchi
5e7a685ba8 mdbx: add basic CMakeSettings.json for Visual Studio.
* move build files out of project dir
2021-07-27 01:27:57 +03:00
Leonid Yuriev
65fa0cf8ed mdbx++: revive encode/decode to hex/base58/base64 (squashed). 2021-07-26 03:53:11 +03:00
Leonid Yuriev
9a04c9a350 mdbx: update available Bindings list. 2021-07-21 17:39:34 +03:00
Leonid Yuriev
2e68adefb3 mdbx-doc: add README paragraph for testing. 2021-07-21 02:28:44 +03:00
Leonid Yuriev
9a1dffc7dc mdbx: update ChangeLog. 2021-07-19 13:21:47 +03:00
Leonid Yuriev
660c302525 mdbx-test: adapt long-stochastic script for old bash version (Mac OS). 2021-07-09 17:44:27 +03:00
Leonid Yuriev
d7aad3a7cf mdbx-make: distinct smoke* and test* targets. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
682632756f mdbx-test: add options support for long-stochastic script. 2021-07-09 17:44:27 +03:00
Leonid Yuriev
bd2bb51f0f mdbx++: rework buffer::silo to avoid use std::string. 2021-07-06 13:45:26 +03:00
Leonid Yuriev
750a17e41e mdbx: more spelling. 2021-07-02 21:19:58 +03:00
Leonid Yuriev
5d4281fbbe mdbx: minor fix spelling. 2021-06-26 18:54:00 +03:00
Leonid Yuriev
77a1f32e2a mdbx: use VERSION.txt instead of VERSION to avoid collision with #include <version>. 2021-06-24 14:59:29 +03:00
Leonid Yuriev
d47864dedf mdbx-cmake: use GNUInstallDirs variables for all cases.
Resolves https://github.com/erthink/libmdbx/issues/209.
2021-06-17 17:21:20 +03:00
Leonid Yuriev
581ca4fdf4 mdbx-ci: performs make's install target during check.
Related to https://github.com/erthink/libmdbx/issues/208.
2021-06-17 15:15:57 +03:00
Leonid Yuriev
a6c8c20bd9 mdbx: update ChangeLog. 2021-05-28 01:46:24 +03:00
Leonid Yuriev
84b699a47c mdbx: fix elsif typo. 2021-05-18 22:44:31 +03:00
Leonid Yuriev
dc9869f1a1 mdbx-ci: minor fix 'mingw' workflow (prev commit). 2021-05-11 21:25:16 +03:00
Leonid Yuriev
1d9f495c46 mdbx-ci: build both dll and static library by MinGW for testing.
Related to https://github.com/erthink/libmdbx/issues/196
2021-05-11 21:25:16 +03:00
Leonid Yuriev
cc46f398ed mdbx-ci: add MinGW build.
Resolves Related to https://github.com/erthink/libmdbx/issues/155

Change-Id: I4419c4e494139e644ff0ed755ce4560000099d82
2021-05-08 18:39:35 +03:00
Leonid Yuriev
ab1fc94a5b mdbx-windows: fix build for Windows XP/2000 (_WIN32_WINNT < 0x0600).
Related to https://github.com/erthink/libmdbx/issues/155

Change-Id: Ibd795817e05b6da39ef270ce7b55b31d963d07b0
2021-05-08 18:38:26 +03:00
Leonid Yuriev
c914d417d2 mdbx: refine Doxygen's API description.
Change-Id: Ifd326eded287c68c6a95b6c9be22847d6efa5678
2021-05-03 15:00:53 +03:00