Commit Graph

2770 Commits

Author SHA1 Message Date
Leonid Yuriev
ddee04d991 mdbx: set DXB/LCK files position outside of a data.
Set the position in files outside of the data to avoid corruption
due to erroneous use of file descriptors in the application code.

Change-Id: I8750f6e726edaddee254885756d5f91576a6bcb1
2020-11-23 09:25:24 +03:00
Leonid Yuriev
f76bf72021 mdbx-windows: retry resize-mmap always with reservation (less chance to failure).
Change-Id: I472651f6906b88ba674868e0cd6c81318bfc255b
2020-11-20 11:52:44 +03:00
Leonid Yuriev
537e3d18ae mdbx: minor clarify mmap-resize logging.
Change-Id: Ibb6e4b8ee84d03a22ad0e0d1b437989739d43bb9
2020-11-20 10:38:04 +03:00
Leonid Yuriev
75e1da1f2d mdbx-test: fix speculum-check iterator.
Change-Id: Idaeea908fdcd7b2c1248ae10eeb7f394d69bb987
2020-11-19 17:28:47 +03:00
Leonid Yuriev
1bbf20bf39 mdbx: refine multi-thread flipping of buffers during env-copy.
Change-Id: Id132c1af0e1131da70ab1b35bce9f6a6548edbe3
2020-11-19 11:59:42 +03:00
Leonid Yuriev
9054b25441 mdbx: fix fast completion of nested txn for case ones was open present DBIs.
Change-Id: I87d28d1da5f72cc7ad77f8dd3f9a181f7eaa0024
2020-11-19 09:26:33 +03:00
Leonid Yuriev
862cfb9a3b mdbx-windows: refine WSL1 detection.
Try to fix https://github.com/snej/nimdbx/issues/1

Change-Id: Iec1c77c82ced8095e3f4e03a27a58e0bba3df76b
2020-11-18 22:38:26 +03:00
Leonid Yuriev
87161f5920 mdbx-make: add stub/guard for obsolete git.
Change-Id: I8f4837ef29be37d40ae9ccf851bebe0a6734f523
2020-11-18 16:24:40 +03:00
Leonid Yuriev
9668aa58ef mdbx-make: explicitly fetch git-tags on make dist.
Change-Id: I19d96dba645af0302f2b91870e7311336c4e5083
2020-11-18 15:11:53 +03:00
Leonid Yuriev
0ca80a9188 mdbx: update README & ChangeLog, scheduled v0.9.2
Change-Id: I019d72989362951a50df0e0561713c6d0dd9e74d
2020-11-18 12:40:49 +03:00
Leonid Yuriev
26767a5e06 mdbx: relax big-page size checking for compatibility.
i.e. allow an overflow page be larger than required by placed data.
2020-11-18 03:42:05 +03:00
Leonid Yuriev
b47a44582a mdbx: merge branch 'devel'.
Change-Id: I20c41204adaac9ccb13e59e63e829246158b6d41
2020-11-17 17:11:00 +03:00
Leonid Yuriev
5619fefe0a mdbx-test: fix actor_poll() against the EBADF error from pipe. 2020-11-17 15:40:02 +03:00
Leonid Yuriev
94fae97f88 mdbx: avoid paranoid CLANG's enum ops UB. 2020-11-17 15:00:51 +03:00
Leonid Yuriev
11fde67edc mdbx-cmake: crutch for MSVC 19.28 (Visual Studio 16.8).
Change-Id: I8fdb665d103031dc5e0c4b7963bc5eb65853a82f
2020-11-17 13:59:29 +03:00
Leonid Yuriev
015ed5bc98 mdbx-cmake: minor fix MDBX_BUILD_FLAGS preparation.
Change-Id: I91eebdffd06b4239ccc2dccd0931b3f82f0b5f52
2020-11-17 13:51:10 +03:00
Leonid Yuriev
b1008b1256 mdbx-test: use MDBX_SET_LOWERBOUND.
Change-Id: I4f6efab69996d4678a78024337a6698a65c2386b
2020-11-17 08:13:46 +03:00
Leonid Yuriev
96c2a56aa1 mdbx: use MDBX_SET_LOWERBOUND in mdbx_get_equal_or_great().
Change-Id: I5dd72fe82bd15938afc60cbc0f92e23c00f0d344
2020-11-17 08:13:46 +03:00
Leonid Yuriev
5e02e7fb56 mdbx: add MDBX_SET_LOWERBOUND for mdbx_cursor_get().
Change-Id: I3638fdd10be8dfe128c43b465e9ca71f89175b3e
2020-11-17 08:13:46 +03:00
Leonid Yuriev
9ea6922a2f mdbx: minor simplify mdbx_cursor_set().
Change-Id: I034f396368024af21e8ee741c13a28c9bc277121
2020-11-17 07:59:51 +03:00
Leonid Yuriev
d9b919d5a6 mdbx-ci: update doxygen-github-pages action.
Change-Id: I8a34588413026baea429a38402013cb9756d3bb2
2020-11-17 02:08:40 +03:00
Leonid Yuriev
89fbaa4de5 mdbx-ci: update spelling wordlist.
Change-Id: I95f75ad334464f8f88226fd496354cf4633a1091
2020-11-17 01:50:04 +03:00
Leonid Yuriev
d86759da22 mdbx: add reference to Nim bindings.
Announce https://forum.nim-lang.org/t/7087

Related to https://github.com/erthink/libmdbx/issues/137

Change-Id: I46b2aa6d262c9a83518ce713997254c98c0cd915
2020-11-17 01:33:37 +03:00
Leonid Yuriev
56a52b0b01 mdbx: merge branch 'fix-131' (early part) into devel.
Change-Id: I0df5ffa9f06da1196a60d5a7c68fed59b7027e4c
2020-11-16 07:07:53 +03:00
Leonid Yuriev
7cdbe1badb mdbx-test: extending speculum mode for cursors tracking verification.
Change-Id: I44786efcee6feb1c7d414c925717d08ed9d94e20
2020-11-16 07:07:39 +03:00
Leonid Yuriev
149b3d09e6 mdbx: don't export DBIs from nested txn.
Change-Id: I8c354ac7f889debe2fcf830263cb060253887652
2020-11-16 07:07:39 +03:00
Leonid Yuriev
1c925a0f2e mdbx: minor fix/avoid assertion inside mdbx_cursor_set().
Change-Id: I2cc38da698765b3eaa2bb575e16505d5d9438431
2020-11-16 07:07:39 +03:00
Leonid Yuriev
0c3deac9db mdbx: fix cursors-EOF after search.
Change-Id: Ie578611b64cca8dbcc00f958510143e8d1dc262a
2020-11-16 07:07:39 +03:00
Leonid Yuriev
21bbba82fb mdbx: minor fix cursor_on_first/last for empty sub-db.
Change-Id: I68c2e1bd28e62c9512bf8ef711fe21573e3450b9
2020-11-16 07:07:39 +03:00
Leonid Yuriev
4ea2bea22e mdbx: fix save/restore/commit cursors for nested txn.
Change-Id: Ibaf356bbc631ca2e41058787bd3e4aaaa8bc085a
2020-11-16 07:07:38 +03:00
Leonid Yuriev
e328c1f829 mdbx: refactor/move mdbx_cursor_count().
Change-Id: I5487342013dfc3a9cf12d9081471ace0c37de23d
2020-11-16 07:07:38 +03:00
Leonid Yuriev
ca115dd6a4 mdbx: refactor/rename/refine tw.cursors internals.
Change-Id: Ie46d15f52a9d7365b52534a630754a31d3005a69
2020-11-16 07:07:38 +03:00
Leonid Yuriev
9a2dbb845c mdbx: refactor/refine cursor next/prev.
Change-Id: I0bfe0fed62e137e933027ba90cec23dbf1a6310b
2020-11-16 07:07:38 +03:00
Leonid Yuriev
5f09ec73c9 mdbx: return MDBX_ENODATA instead of MDBX_EINVAL for non-positioned/EOF cursor and MDBX_GET_CURRENT.
Change-Id: I2adf76f8f662e77e5a6aa077344fab6b430975c4
2020-11-16 07:07:38 +03:00
Leonid Yuriev
c55f99073b mdbx: fix MDBX_NEXT for EOF case.
Change-Id: I84c033a24d2215a4867affab5b148bf6ba5d57dc
2020-11-16 07:07:38 +03:00
Leonid Yuriev
b1446b7752 mdbx: minor fix/distinction MDBX_EBADSIGN and MDBX_EINVAL errors for cursors.
Change-Id: I6d72638a69ff0f793156fe5e0e7ca5531a97c7cf
2020-11-16 07:07:38 +03:00
Leonid Yuriev
b6f0070f85 mdbx: add mdbx_cursor_copy().
Change-Id: I476f1230beec6a550897bef236745530154c1079
2020-11-16 07:07:38 +03:00
Leonid Yuriev
2489e0ba6e mdbx: refactor/rename cursor_copy_internal().
Change-Id: I334e68d3d424ef15cafcaafd23d61f80611fce01
2020-11-16 07:07:38 +03:00
Leonid Yuriev
96143a9bb2 mdbx-test: always check speculum its own operations.
Change-Id: I38e668ce70f0e1ccb7bf2692a3b406fed9f87f53
2020-11-16 07:07:38 +03:00
Leonid Yuriev
459e769844 mdbx: engage cursor tracking for all merge/rebalance operations.
Assume this resolves https://github.com/erthink/libmdbx/issues/131.

Change-Id: I5111618a34d91d083b81245ac959b744a86c4495
2020-11-16 07:07:27 +03:00
Leonid Yuriev
37a1d546b7 mdbx: minor refine mdbx_rebalance().
Change-Id: I10a6a208b173bdee1d325aa7b2624de879814647
2020-11-16 06:28:11 +03:00
Leonid Yuriev
b209e91ad4 mdbx: zeroed mc_top while tracking nested cursors.
This avoids scanning dummy cursors during tracking.

Change-Id: Id4edc665010215b4a946f9438475691f1387313c
2020-11-16 05:48:44 +03:00
Leonid Yuriev
0c78da99b0 mdbx: add cursor_is_tracked() and assertions.
Change-Id: I83db1a714597b134aa30e4ca7019bb7f541a2428
2020-11-16 05:48:23 +03:00
Leonid Yuriev
10681a53ae mdbx: cleanup/refine GC-flags inside mdbx_page_alloc().
Change-Id: Ie81c703815a7b3fbe59ad9b406811d5ed2913d02
2020-11-16 05:43:53 +03:00
Leonid Yuriev
06691aeafc mdbx-load: fix/preserve DB geometry without the mapsize header item.
More for https://github.com/erthink/libmdbx/issues/136.

Change-Id: I385869f2894ebe83b00b4e5b7ac4cacaabaf25d9
2020-11-16 00:53:34 +03:00
Leonid Yuriev
d3b5d0ca83 mdbx-ci: update spelling data.
Change-Id: Ic1a56bbe4cedf985f567a05f8ea4fd2ccc92cd3e
2020-11-15 08:06:04 +03:00
Leonid Yuriev
3a39874025 mdbx: update ChangeLog.
Change-Id: Ie3163ca1ffe4528564bb4c997b813c519510851d
2020-11-15 08:02:25 +03:00
Leonid Yuriev
462df477b0 mdbx-load: cosmetic fix missed space.
Change-Id: Ifb9deb7c31d2d191b621280b6afd63fad9d436a3
2020-11-15 07:57:46 +03:00
Leonid Yuriev
74e495569e mdbx-load: fix DBI-error without -s name option.
Related to https://github.com/erthink/libmdbx/issues/136

Change-Id: I1e634456867f92dc1488a826eabf65ab28e64c1b
2020-11-15 07:57:15 +03:00
Leonid Yuriev
3ed58c281a mdbx-load: fix hang at EOF in the 'plain text' (i.e. no headers) mode.
Related to https://github.com/erthink/libmdbx/issues/136

Change-Id: I6ac9762bc5ac6aaf8b947b2e4abb0b4ff6a14444
2020-11-15 07:54:09 +03:00