Commit Graph

2879 Commits

Author SHA1 Message Date
Leonid Yuriev
4fa5e95241 mdbx: LRU spilling feature (squashed).
Resolves https://github.com/erthink/libmdbx/issues/186

Change-Id: Ie3318964e4e2adbeb77738b8301c45075080850b
2021-04-26 17:51:11 +03:00
Leonid Yuriev
3e272d339a mdbx: drop mdbx_dpl_find() and always promote child LRU-serial to the parent txn.
More for https://github.com/erthink/libmdbx/issues/186

Change-Id: Ifeac634e9fa1dee6e2b3375c868cc0fa16422099
2021-04-26 14:08:30 +03:00
Leonid Yuriev
31cfce4ca5 mdbx: fix minor MSVC warnings.
Change-Id: I99ab0855334c01796c57f13142127d184ab1291e
2021-04-26 10:56:18 +03:00
Leonid Yuriev
66e5078e28 mdbx: refine page_touch() and dirtyroom checking.
More for https://github.com/erthink/libmdbx/issues/186

Change-Id: I81a6d94e64a60ccb642d0297a9afb2abddf51c49
2021-04-26 02:47:25 +03:00
Leonid Yuriev
f29283a620 mdbx: merge branch master into devel.
Change-Id: I0568e92101e8e3ddf3572c6973542752cd1c235d
2021-04-26 02:08:03 +03:00
Leonid Yuriev
4583f4bc8c mdbx-windows: minor fix assertion inside mdbx_suspend_threads_before_remap().
Change-Id: I2026f8400aea3d7c0763556be3925206d8485684
2021-04-26 02:06:28 +03:00
Leonid Yuriev
55f41f40a1 mdbx: rename log2n_powerof2().
Change-Id: I22290630186c5041b6ae242d0db1f5c5f36da4ec
2021-04-26 02:06:28 +03:00
Leonid Yuriev
d1fea74d0e mdbx: preparation for LRU-spilling.
Initial for https://github.com/erthink/libmdbx/issues/186

Change-Id: I9a6d60cc142ff7490e2a23defe9654d7e3337edc
2021-04-26 02:06:01 +03:00
Leonid Yuriev
934ca25ab2 mdbx: fix MDBX_EACCESS from mdbx_env_set_option() if env not yet opened.
Change-Id: I0da15b71919a1787e5cc54441b5e41941afabf66
2021-04-26 00:52:47 +03:00
Leonid Yuriev
7a8fe2a72c mdbx-doc: clarify explanation of the auto-compactification feature.
Change-Id: I178ab01e173ae6512da546f4f13de64c2c602195
2021-04-25 13:54:28 +03:00
Leonid Yuriev
b21ad733ea mdbx: refine cursor_copy(), add cursor_restore().
Change-Id: I3ac5883c95aaa0e13970a8176f0af5e374d811a1
2021-04-23 16:06:23 +03:00
Leonid Yuriev
9b80da87f0 mdbx-docs: update bits.md
Change-Id: Id6cfd9579f31b862f3dc0069862019d08f363f9e
2021-04-23 16:06:23 +03:00
Leonid Yuriev
a4db174b58 mdbx-test: add --random-writemap=no to long-stochastic.
Change-Id: If19a966493f706f86335699d0de0dfc2865e20e1
2021-04-23 16:05:47 +03:00
Leonid Yuriev
0b9272209a mdbx: minor refine spilling.
Change-Id: I243ebff592ac7ad544bbd382c93d2e5d4444b081
2021-04-23 16:04:35 +03:00
Leonid Yuriev
416a802789 mdbx: add missing err-log for MDBX_TXN_FULL during page allocation.
Minor for https://github.com/erthink/libmdbx/issues/186

Change-Id: Iadb868c64fba4e9d5a4ee7df093f0cfb9288bf93
2021-04-21 13:24:54 +03:00
Leonid Yuriev
aaf465b942 mdbx: add missing err-log for MDBX_TXN_FULL during page allocation.
Change-Id: Iadb868c64fba4e9d5a4ee7df093f0cfb9288bf93
2021-04-21 12:20:32 +03:00
Leonid Yuriev
c2d8c35daa mdbx: the radix-sort threshold reduced to 333.
Change-Id: Ic69b6c3740f71997cd014a82fb32a8202ddb65e0
2021-04-21 00:13:57 +03:00
Leonid Yuriev
eabb29d9c4 mdbx: add MDBX_xPL_PREALLOC_FOR_RADIXSORT build options.
Change-Id: Icf15558830f86f98c5e970a7eec69cc045045467
2021-04-21 00:13:51 +03:00
Leonid Yuriev
3b5e2680e9 mdbx: fix non-alloy build for windows.
Change-Id: Id93eb069543f081c3b1c9734ed65f4afd80a444d
2021-04-20 22:09:48 +03:00
Leonid Yuriev
62ccea031b mdbx++: add FIXME for buffer::silo.
Change-Id: I0a4a7bb947d019578153b7d09274b3ad0d1496aa
2021-04-20 22:09:48 +03:00
Leonid Yuriev
3a109cecdc mdbx-make: more thunk-targets for non-GNU Makefile.
Change-Id: I95b8df96c9a2271b59a8e4fb099e946d47f99811
2021-04-20 22:09:48 +03:00
Leonid Yuriev
84d154d732 mdbx-cmake: set MDBX_ALLOY_BUILD=OFF for Debug build by default. 2021-04-20 22:09:48 +03:00
Leonid Yuriev
097c3ea059 mdbx-test: fix minor Solaris/SunOS warnings. 2021-04-20 22:09:48 +03:00
Leonid Yuriev
7a0d6c6196 mdbx: use POSIX_MADV_DONTNEED.
Change-Id: I2020eb8ec225a49331cf4dc6c5a24d6559916284
2021-04-20 22:09:48 +03:00
Leonid Yuriev
b3b6a48797 mdbx: fix minor warning on Solaris/SunOs. 2021-04-20 22:09:48 +03:00
Leonid Yuriev
b7110eb4d4 mdbx: fix non-alloy build for windows.
Change-Id: Id93eb069543f081c3b1c9734ed65f4afd80a444d
2021-04-20 15:17:51 +03:00
Leonid Yuriev
4703dac49d mdbx++: add FIXME for buffer::silo.
Change-Id: I0a4a7bb947d019578153b7d09274b3ad0d1496aa
2021-04-20 15:17:51 +03:00
Leonid Yuriev
b68e7c8186 mdbx-make: more thunk-targets for non-GNU Makefile.
Change-Id: I95b8df96c9a2271b59a8e4fb099e946d47f99811
2021-04-20 15:17:51 +03:00
Leonid Yuriev
4b7e39e304 mdbx-test: fix minor Solaris/SunOS warnings. 2021-04-20 15:17:51 +03:00
Leonid Yuriev
c0704db03a mdbx: use POSIX_MADV_DONTNEED.
Change-Id: I2020eb8ec225a49331cf4dc6c5a24d6559916284
2021-04-20 15:17:51 +03:00
Leonid Yuriev
e82359bca0 mdbx: fix minor warning on Solaris/SunOs. 2021-04-20 15:17:51 +03:00
Leonid Yuriev
dc4ab96d4d mdbx-tools: fix mdbx_drop help/usage message.
Change-Id: I100daa14641eaa351930034ba8806a7e82085289
2021-04-20 15:17:51 +03:00
Leonid Yuriev
bedd13d411 mdbx-tools: minor fix error messages.
Change-Id: Id2efb3db70b5df49e84bc9a8bb47645afe0eb187
2021-04-20 15:17:51 +03:00
Leonid Yuriev
f3c078fcbf mdbx-ci: fix spelling Github action.
Change-Id: I64f170fd4e979c8175b1f80499dd1dfa6d2ee4cf
2021-04-20 15:17:51 +03:00
Leonid Yuriev
d69deec136 mdbx-ci: ignore extra files changes for main CI action(s).
Change-Id: If4fd9f5e3bb6393a7fbab12b80adac16c3d6291b
2021-04-20 15:17:51 +03:00
Leonid Yuriev
91194de7e7 mdbx-test: output the signal name if killed/coredumped.
Change-Id: I51e70daf89149ecbe72924fc9f105ea072574a23
2021-04-20 15:17:51 +03:00
Leonid Yuriev
e412d1a19e mdbx-test: don't use make check from long-stochastic.
Change-Id: I3fd9f0b1b86ffec056a4fb3980f8692d80d5ebd4
2021-04-18 19:39:51 +03:00
Leonid Yuriev
17d8ed4bad mdbx-tools: fix mdbx_drop help/usage message.
Change-Id: I100daa14641eaa351930034ba8806a7e82085289
2021-04-18 19:28:22 +03:00
Leonid Yuriev
aa58498d23 mdbx-tools: minor fix error messages.
Change-Id: Id2efb3db70b5df49e84bc9a8bb47645afe0eb187
2021-04-18 19:26:15 +03:00
Leonid Yuriev
4cf8496422 mdbx: avoid read leaf-pages during dropping trees.
Change-Id: Ib8034a76a150c213fddcca0f7df971f63253b7a5
2021-04-18 19:20:16 +03:00
Leonid Yuriev
df539e60e0 mdbx-ci: fix spelling Github action.
Change-Id: I64f170fd4e979c8175b1f80499dd1dfa6d2ee4cf
2021-04-18 11:35:34 +03:00
Leonid Yuriev
401423ca2e mdbx-ci: ignore extra files changes for main CI action(s).
Change-Id: If4fd9f5e3bb6393a7fbab12b80adac16c3d6291b
2021-04-18 11:34:47 +03:00
Leonid Yuriev
d1561dc357 mdbx: refactoring page_alloc() result type.
Change-Id: I4afc73603d610e4e28b952a38dfa9f30d56809bf
2021-04-18 10:24:22 +03:00
Leonid Yuriev
3f6758e18d mdbx: minor refactoring mdbx_cursor_set().
Change-Id: If3c984fb5ac2f77762501ac720080e2caaacac3c
2021-04-18 10:24:22 +03:00
Leonid Yuriev
b59836e6d9 mdbx: minor refactoring: use cursor_set_result.
Change-Id: Ice724c541bc4127aae0e9ea85b4fc1d7c1b68471
2021-04-18 10:24:22 +03:00
Leonid Yuriev
3eb48340ad mdbx: minor refactoring: use node_result.
Change-Id: I489b15c174644b2f414925f5bacbe83c091a0692
2021-04-18 10:24:22 +03:00
Leonid Yuriev
b3aba4691b mdbx: minor refactoring: use page_result.
Change-Id: I7749d9463832ce9b270d06f04f43e413d5ba26b7
2021-04-18 10:24:22 +03:00
Leonid Yuriev
e4db019f47 mdbx: minor refine cursor_set_ex().
Change-Id: I0951a917c1e4c9e372f29c64fda0e1b267f48cdd
2021-04-18 10:24:22 +03:00
Leonid Yuriev
dc7098b3fb mdbx: minor refine page_new().
Change-Id: Iafdea1c592c346c7841a39cdfc96436460b27bcb
2021-04-18 10:24:22 +03:00
Leonid Yuriev
6d3ff10165 mdbx: simplify page_unspill().
Change-Id: Iaa182d1feaf2abb59015725f000a3d9e0c57de8d
2021-04-18 10:24:22 +03:00