Commit Graph

2563 Commits

Author SHA1 Message Date
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
Leonid Yuriev
21d2af9e90 mdbx: merge branch 'c++' into devel.
Change-Id: Ibd7f6c323aaf4f681a2c2dd442d36f4a9459d400
2020-11-01 00:39:19 +03:00
Leonid Yuriev
4cb8067dce mdbx++: always provide implementation for mdbx::path == std::string.
Change-Id: I8ef5c1531dc378b4141637ec4ddae3bbc67f1570
2020-10-31 23:24:05 +03:00
Leonid Yuriev
74bf948611 mdbx++: fix slice::encode/decode().
Change-Id: I56122e47a552e8e343e15bc878c767e34d269069
2020-10-31 23:23:56 +03:00
Leonid Yuriev
586e25c48c mdbx++: add operator<<(ostream, pair_result).
Change-Id: I44cc28f7f4f7d65225239d62f5bb8a15a8de16a8
2020-10-31 23:23:46 +03:00
Leonid Yuriev
e3f32ec6b4 mdbx++: refine operator<<(ostream, pair).
Change-Id: I0f42c17a241cf4e2ed6ae8f18e84a13ba5500a3b
2020-10-31 23:23:30 +03:00
Leonid Yuriev
4e198915f2 mdbx++: fix slice::is_printable().
Change-Id: I7f572f8e2179313e3cd312a58e46d445b920ba3e
2020-10-31 23:22:31 +03:00
Leonid Yuriev
9f92d5fb7e mdbx++: rename put_mode::insert to insert_unique."
Change-Id: I132f1d6bcc4161d1438a77cbc1fd85cdaa22842b
2020-10-31 23:22:21 +03:00