3015 Commits

Author SHA1 Message Date
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
Leonid Yuriev
3622433cf4 mdbx: fix page_copy() for unspilling a large/overflow page.
Change-Id: I46c6b6bf94c877c1c0142116c404692960dc5ab7
2021-04-18 10:24:22 +03:00
Leonid Yuriev
9c9cdfdb6d mdbx: minor fix mdbx_is_dirty().
Change-Id: Ia539165ddd62a40e13fdfec48de754961681d40f
2021-04-18 10:24:22 +03:00
Leonid Yuriev
a0a4bbaa7c mdbx: drop goto/label in prev commit.
More for https://github.com/erthink/libmdbx/issues/164

Change-Id: Ic708c3ba51dd22d08e96d0bef4632a0beb19999b
2021-04-18 10:24:11 +03:00
Leonid Yuriev
3e0fad1cf6 mdbx: rework (NO)READAHEAD handling.
Resolves https://github.com/erthink/libmdbx/issues/164

---

NOTE: Seems there is a bug in the Mach/Darwin/OSX kernel,
because MADV_WILLNEED with offset != 0 may cause SIGBUS
on following access to the hinted region.

19.6.0 Darwin Kernel Version 19.6.0: Tue Jan 12 22:13:05 PST 2021; root:xnu-6153.141.16~1/RELEASE_X86_64 x86_64

Change-Id: I11ebbf2bd35e3dba9d078be16cb5678aecf8329c
2021-04-17 01:12:16 +03:00
Leonid Yuriev
28affe79d8 mdbx-test: output the signal name if killed/coredumped.
Change-Id: I51e70daf89149ecbe72924fc9f105ea072574a23
2021-04-14 19:27:13 +03:00
Leonid Yuriev
958fd5b947 mdbx: use mp_txnid instead of P_DIRTY (squashed).
Change-Id: I7e3174611b8819d8050b84d835fe976b87c77c0c
2021-04-14 19:27:13 +03:00
Leonid Yuriev
f587a74597 mdbx: drop mx_dbistate.
Change-Id: I61616ee1436ed99db93a1036c9bb7d4db7157c8f
2021-04-14 00:26:14 +03:00
Leonid Yuriev
5e334fa830 mdbx: extract mdbx_touch_dbi().
Change-Id: I3b077cefe44f4c2db099b2050e1fd72a1aaa2687
2021-04-14 00:25:15 +03:00
Leonid Yuriev
f9977975ae mdbx: remove extra TXN_DBI_CHANGED() check.
Change-Id: If2014f7bfbfab98f3c0c357f2475da57efc50693
2021-04-14 00:23:36 +03:00
Leonid Yuriev
e35c92eabb mdbx: refine mdbx_page_new().
Change-Id: Ief0cb313c39f7b11fb1cd611d9b0497c011a7a7a
2021-04-14 00:19:34 +03:00
Leonid Yuriev
49296cad14 mdbx: refactor mdbx_drop_tree() & drop mdbx_retire pgno().
Change-Id: I37f33d7a11e958ccc1c48a6af31599deb677038d
2021-04-10 22:20:31 +03:00
Leonid Yuriev
dfed1dbc17 mdbx: refactoring: merge page_retire() and page_loose().
Change-Id: I4b47c11eedad6ef1b83dbf3d34977cdd8fa79505
2021-04-10 22:20:24 +03:00
Leonid Yuriev
0dd27a46ee mdbx++: minor fix constexpr/inline for slice::invalid().
Change-Id: I48864a61f4fef711117b2e04ac92656267e2d229
2021-04-10 17:48:40 +03:00
Leonid Yuriev
20299f87cb mdbx: minor refine get_reasonable_db_maxsize().
Change-Id: I5d654940a325c0c3966a59a37615820587c52c78
2021-04-10 17:48:31 +03:00