1317 Commits

Author SHA1 Message Date
Leonid Yuriev
53b60cdecc mdbx-load: backport - fix backslash escaping (for compatibility with ITS#9068).
In fact MDBX not affected by this bug, since a very long time mdbx_dump was fixed to not produce a problematic sequence of backslash.

For compatibility with LMDB after http://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=5c012bbe033f9bbb273078b07dded59f080d348d

Change-Id: I8ff8e003ae29504605402b937becd4fb37120408
2019-08-27 15:08:00 +03:00
Leonid Yuriev
91ab9e2804 mdbx: backport - fix reclaiming_detent() for out-of-txn case.
Change-Id: I5275f4f3676b125e860f6a7c204a5f9cdc65dd5f
2019-08-23 17:47:38 +03:00
Leonid Yuriev
0eff1930b5 mdbx: backport - don't shrink DB less largest reader inside mdbx_env_set_geometry().
Change-Id: I42a5d3a08313fb9590a6730bc0dc06c7b4f16634
2019-08-23 02:56:01 +03:00
Leonid Yuriev
263dbd97c5 mdbx: backport - fix env_sync_ex() for out-of-txn case.
Change-Id: Ie19bbe1d467ce4fc83f8dfc1e367070f532ee335
2019-08-23 02:55:48 +03:00
Leonid Yuriev
214df7c1e1 Note about moving from Github.
The [repository was moved](https://abf.io/erthink/libmdbx) due to illegal discriminatory blocking of access from the territory of the Russian Crimea and for sovereign crimeans.

Crimea is Russia.

Change-Id: I5a4eb6b50be2e88f4dc6658d00331954e373603a
2019-07-27 22:21:48 +03:00
Leonid Yuriev
1a123b5395 mdbx: backport - fix DB-shrinking race with copy-asis & readers.
Change-Id: I893b388d186b6425ab60be4b7cc6bf9b67142def
2019-07-09 16:01:49 +03:00
Leonid Yuriev
961f08a5d2 mdbx: backport - refine backlog preparation inside update_gc().
Change-Id: Ib18842c2922afba794d6ab69337580bcea29bfe6
2019-07-09 16:01:40 +03:00
Leonid Yuriev
04a91adc70 mdbx: backport - fix pwrite() for WRITE_MAX.
Change-Id: If4924d20c1e267c2d3a190c860b89fc2fda0d517
v0.2.2
2019-06-24 02:46:10 +03:00
Leonid Yuriev
d138a2a8e1 mdbx-test: backport - fix dbsize-options handling.
Change-Id: Ia51f802ac1ad4e8b1b059a3f3b38214bda6b43fc
2019-06-24 02:46:08 +03:00
Leonid Yuriev
0eeb5f83c2 mdbx: bump version to v0.2.2
Change-Id: I1b3802ce91e7b5241f3cbcf3ec54aa6394971dff
2019-06-22 22:54:04 +03:00
Leonid Yuriev
c2f9d088d5 mdbx: rework RECLAIMING inside update_gc().
Change-Id: I9cf592476780bfdb346472baa12497d68a3d5aad
2019-06-22 22:53:47 +03:00
Howard Chu
179185985e mdbx: import - tweak mdb_page_split (ITS#8969).
Bump up number of keys for which we use fine-grained splitpoint search

Change-Id: Icca2e1953cbcd6898b790f657636c2195b397790
2019-06-22 15:50:09 +03:00
Leonid Yuriev
efcb417838 mdbx: backport - fix TAGRET typo (minor).
Change-Id: Iffafbed7fdad3492aeb51f17caf8109a5b3e35c0
2019-06-22 01:47:28 +03:00
Leonid Yuriev
aa7a55b480 mdbx: backport - fix handling MDBX_APPENDDUP mode.
Change-Id: I36de2a8dcab5126dab3857a7840ab3904a1d19c8
2019-06-22 01:47:28 +03:00
Leo Yuriev
e095282437 mdbx: backport - fix __ANDROID__ typo.
Thank to Howard Chu <hyc@openldap.org>.

Change-Id: Ibcbe2e4790a5df5758d9fd6c621793ea42a94682
2019-06-22 01:47:27 +03:00
Leonid Yuriev
cbf96368b9 mdbx: backport - fix GC corruption due deep recursive rebalance from update_gc().
Change-Id: I810250deb25cd625e737000282b434e3158ef8cc
2019-06-22 01:47:27 +03:00
Leo Yuriev
251f189428 mdbx: fix one more comment typo (minor). 2019-02-13 20:26:40 +03:00
Leo Yuriev
2a5cbe6445 mdbx: fix comment typo (minor). 2019-02-13 20:26:37 +03:00
Leo Yuriev
9cc9116df3 mdbx: 2019 HNY.
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
2019-02-03 12:28:01 +03:00
Leonid Yuriev
08508d34b3 mdbx: MDBX_BAD_DBI instead of MDBX_NOTFOUND in case table was dropped.
Change-Id: I2894a5721d2be2bb982e7c7a607c6a0413f7e3ca
2019-01-27 00:17:57 +03:00
Leonid Yuriev
5fd05db6ea mdbx: minor fix/refine mdbx_txn_straggler() for r/w-txn.
Change-Id: Id44a1db414de457d74a3e1d9d5c96064a7278080
2019-01-17 23:14:25 +03:00
Leonid Yuriev
4708e0cf79 mdbx-winfdows: fix returning negative value on failure.
Change-Id: Iaf5fb1f0cbcc3c14e2d3edf1f57538ecc0dfdf00
2019-01-17 23:10:04 +03:00
Leonid Yuriev
624968b74c mdbx-windows: use SetFileInformationByHandle() when available.
Change-Id: I27d9d4271d4328947ad68cdf30af61a31978b4f9
2018-12-28 13:53:57 +03:00
Leonid Yuriev
e3ff44d01b mdbx-cross-ci: move alpha-linux-gnu-gcc into CROSS_LIST_NOQEMU.
Change-Id: I36e72126131f87db0b1394b293a1e009da207ee1
2018-11-26 19:18:11 +03:00
Leonid Yuriev
f778f4a795 mdbx: add MDBX_SAFE4QEMU option for testing under QEMU.
Change-Id: Ide674e0125e2746f73a7ba44828316a60633e887
2018-11-26 19:08:30 +03:00
Leonid Yuriev
9379ba7733 mdbx-make: add '--copy' testcase for check-singleprocess target.
Change-Id: I76946e111def7a095c01368f04f9edd1a3b31569
2018-11-26 19:06:49 +03:00
Leonid Yuriev
cbdb10a05c mdbx-test: fix/refine entropy_ticks() for ARM.
Change-Id: I03b10edfcbee33c1b3107a0c1a5714aac61cf12f
2018-11-26 18:52:31 +03:00
Leonid Yuriev
68be9b39a8 mdbx-make: fix/refine recommended package-list for cross-build (minor).
Change-Id: I76d6972f5557cadb70a0ba8bf5802364762adb1c
2018-11-26 17:08:47 +03:00
Leo Yuriev
f55e1ec5cc mdbx-windows: more safety/robustness for DB shriking. v0.2.1 2018-11-22 17:50:49 +03:00
Leo Yuriev
35f95e8ca2 mdbx-windows: always susppend local threads while resize DB (workaround for Windows kernel bug).
We should not concern about performance on Windows platform,
it just unreasonable. Therefore just always suspend the local
threads to avoid this issue.

This resolves https://github.com/leo-yuriev/libmdbx/issues/48
2018-11-22 14:19:49 +03:00
Leonid Yuriev
ee7ebe438c mdbx: fix AddressSanitizer issue for mdbx_page_loose (minor, not a bug).
Change-Id: I0e550dabdeda92759c28d4566104ff07a92d83bb
2018-11-22 02:52:25 +03:00
Leonid Yuriev
f626acb398 mdbx: relax DBI-sequences for concurrent open DBI-handles for present tables.
Change-Id: I7f07d2e716074bd9c2847aeb062e366f46cca214
2018-11-19 13:31:44 +03:00
Leo Yuriev
eda424ff71 mdbx: rename __always_inline. 2018-11-06 21:08:28 +03:00
Leonid Yuriev
d5320d9252 mdbx: silently put mm_geo.now into [geo.lower...geo.upper] boundaries.
Copy-with-compaction by previous version of libmfbx could produce
DB-file less than meta.geo.lower bound, in case actual filling
is low or no data at all.

This is not a problem as there is no damage or loss of data.
Therefore it is better not to consider such situation as an
error, but silently correct it.

Change-Id: Ia662656cc3584c07efcfbdfc80f80e3c76e6dd59
2018-11-05 14:34:12 +03:00
Leonid Yuriev
3c684010e3 mdbx-tools: fix minor MSVC warnings.
Change-Id: If8b042e2d84bfed7f8b0a81a4d75d7be7e7aa7a9
2018-11-05 00:31:58 +03:00
Leonid Yuriev
aa52cb395f mdbx: fix typo in mdbx_limits_dbsize_max().
Change-Id: Ie55e3ca108ac6aab9a41d65f316a3d5ff5ff6f1f
2018-11-05 00:18:41 +03:00
Leo Yuriev
73c7742db4 mdbx-test: fix osal_actor_poll() for 32-bit builds.
Change-Id: I36b2f955295d8ca5435a68737c0c2e7f069bfe34
2018-11-05 00:02:48 +03:00
Leonid Yuriev
c3432c158e mdbx-test: add checks for db-copy after the basic testcase.
Change-Id: I5e7d343266c66418a8798d272e697e1c3d5c775b
2018-11-05 00:02:48 +03:00
Leonid Yuriev
24d42c1583 mdbx: add db-copy testcase.
Change-Id: Ib554880ebbabcb5dfc55bdb3c71767d0fa1630fd
2018-11-05 00:02:48 +03:00
Leonid Yuriev
40e3f735ab mdbx-tests: cleanup/simplity code (minor).
Change-Id: I9813ed3a29b331c1f995ce76766709f454bb49c2
2018-11-04 20:34:16 +03:00
Leonid Yuriev
12174187e8 mdbx-tests: add osal_removefile().
Change-Id: Ifdacd1f799e3ed12f6b83bcdef0effbc0c41011c
2018-11-04 20:34:16 +03:00
Leonid Yuriev
2770e193b6 mdbx: take in account shrink/growing thresholds while copy-with-compactification.
Change-Id: Id93e62089819dfcc8cbc83620e0bdd806d8c1950
2018-11-04 20:34:16 +03:00
Leonid Yuriev
83f1effff1 mdbx: refine mdbx_env_copy() internals.
Change-Id: I9e8f0dc87398564524a5ec98eda2cb9bde100909
2018-11-04 20:34:16 +03:00
Leonid Yuriev
629637d95e mdbx-osal: add mdbx_fseek().
Change-Id: I5744aa3ba51bd1acaeedd866e6b21a1330c3f711
2018-11-04 20:34:16 +03:00
Leo Yuriev
06cb8b45b2 mdbx: fix PRIuPTR/PRIu64 for 32-bit builds.
Change-Id: Ic6462666de666840bc77e0e50fd0d8cd36a125b7
2018-11-04 20:34:16 +03:00
Leonid Yuriev
2d5cba61ed mdbx: fix assertion.
Change-Id: Ib0f19394c42f810f74e3889c21f62ae40ec0f2ea
2018-10-21 21:34:08 +03:00
Leonid Yuriev
124c5a6751 mdbx: fix mdbx_txn_abort().
This resolves https://github.com/leo-yuriev/libfpta/issues/20
2018-10-21 20:27:49 +03:00
Leonid Yuriev
3bae0723b7 mdbx: refine mdbx_mutex_failed(). 2018-10-21 20:27:49 +03:00
Leonid Yuriev
5400ef6512 mdbx-windows: fix mdbx_assert_fail(). 2018-10-21 20:27:49 +03:00
Leonid Yuriev
718f997502 mdbx-windows: workaround for Windows10 bugs.
This resolves https://github.com/leo-yuriev/libmdbx/issues/47
2018-10-21 20:27:49 +03:00