1723 Commits

Author SHA1 Message Date
Leonid Yuriev
7a06cac680 mdbx: fix unexpected EXDEV (Cross-device link) error from mdbx_env_copy()
Fallback to `write()` if `copy_file_range()` syscall returns `EXDEV`.
2022-01-14 12:39:38 +03:00
Leonid Yuriev
406cafb642 mdbx: treat the UINT64_MAX value as maximum for given option inside mdbx_env_set_option(). 2022-01-06 00:37:08 +03:00
Leonid Yuriev
b19ebf0c2e mdbx: fix minor unused parameter warning. 2022-01-05 17:47:45 +03:00
Leonid Yuriev
066bb696e3 mdbx: avoid including sys/sem.h when MDBX_LOCKING != MDBX_LOCKING_SYSV.
Fixes https://github.com/erthink/libmdbx/issues/258.
2022-01-05 17:47:09 +03:00
Leonid Yuriev
024900ee9c mdbx: fix/refine handling options.rp_augment_limit detent while loading GC records. 2022-01-05 11:03:21 +03:00
Leonid Yuriev
ab83d173ac mdbx: minor refine logging for internal GC-related ops. 2022-01-05 10:50:39 +03:00
Leonid Yuriev
d316bde561 mdbx: minor cleanup comment. 2022-01-05 10:45:23 +03:00
Leonid Yuriev
a6340c6b03 mdbx: minor fix open-MADV logging. 2022-01-05 10:45:15 +03:00
Leonid Yuriev
070ba5ded4 mdbx: check for GCC/clang in debug-includes (insignificant internals). 2022-01-04 13:41:25 +03:00
Leonid Yuriev
6866fa3eaa mdbx: revert returning MDBX_ENODATA from cursor-next. 2021-12-30 22:12:04 +03:00
Leonid Yuriev
9511bc491a mdbx: more unlikely(). 2021-12-30 19:40:22 +03:00
Leonid Yuriev
ae5df65af0 mdbx: refine page_alloc() and update_gc() to reduce looping.
Resolves https://github.com/erthink/libmdbx/issues/254.
2021-12-30 17:36:33 +03:00
Leonid Yuriev
2ba90e63b1 mdbx: remove obsolete current retired-list record from gc before reserve/backlogging free-pages to reduce looping. 2021-12-28 00:10:00 +03:00
Leonid Yuriev
b30ccbde9e mdbx: don't reserve/backlog free-pages if retired-list was already put into gc. 2021-12-28 00:10:00 +03:00
Leonid Yuriev
c3c088b8c3 mdbx: minor unify gc-update debug logging (cosmetics). 2021-12-28 00:10:00 +03:00
Leonid Yuriev
c70d2d62d1 mdbx: fix mdbx_override_meta() to avoid false-positive assertions.
Fixed https://github.com/erthink/libmdbx/issues/253.
2021-12-13 13:03:49 +03:00
Leonid Yuriev
4e44dc69f9 mdbx: add MDBX_SET_UPPERBOUND for cursors.
Resolves https://github.com/erthink/libmdbx/issues/250.
2021-12-13 04:24:34 +03:00
Leonid Yuriev
bee5df20fd mdbx: fix MDBX_SHRINK_ALLOWED collision with MDBX_ACCEDE inside mdbx_env_sync_internal(). 2021-12-13 04:12:43 +03:00
Leonid Yuriev
6f2c1e52ad mdbx: add mdbx_cursor_get_batch().
Resolve https://github.com/erthink/libmdbx/issues/236
2021-12-11 05:58:39 +03:00
Leonid Yuriev
0265c847b8 mdbx++: remove preliminary label from C++ API. 2021-12-09 02:10:08 +03:00
Leonid Yuriev
f4057b2c3b mdbx: avoid extra looping inside mdbx_env_info_ex(). 2021-12-07 01:45:41 +03:00
Leonid Yuriev
839da86cac mdbx: minor fix handling MDBX_SET_LOWERBOUND to avoid MDBX_BAD_VALSIZE.
Related to https://github.com/erthink/libmdbx/issues/248#issuecomment-986542620.
2021-12-07 01:30:43 +03:00
Леонид Юрьев (Leonid Yuriev)
a899056fd1 mdbx: fix extra assertion.
Fixes https://github.com/erthink/libmdbx/issues/248.
2021-12-06 23:28:08 +03:00
Леонид Юрьев (Leonid Yuriev)
c484a92933 mdbx: minor refine prev commit. 2021-12-06 23:00:38 +03:00
Леонид Юрьев (Leonid Yuriev)
da855b13a3 mdbx: rework/simplify mdbx_env_sync_internal(). 2021-12-04 06:56:44 +03:00
Леонид Юрьев (Leonid Yuriev)
8ef8733ddc mdbx: minor refine mdbx_env_set_option(MDBX_opt_sync_bytes). 2021-12-04 06:55:41 +03:00
Leonid Yuriev
4b886e2a58 mdbx: don't return MDBX_RESULT_TRUE (-1) from mdbx_env_set_option(). 2021-12-03 15:33:22 +03:00
Леонид Юрьев (Leonid Yuriev)
d2b15b5958 mdbx: more unlikely(). 2021-12-02 20:22:37 +03:00
Леонид Юрьев (Leonid Yuriev)
d96bc98244 mdbx: minor refine/fix MDBX_ENODATA for compatibility.
Related to https://github.com/erthink/libmdbx/issues/243
2021-12-02 20:22:37 +03:00
Леонид Юрьев (Leonid Yuriev)
c2cab7a6a8 mdbx: using clang-format-13 (cosmetics). 2021-12-02 20:22:31 +03:00
Leonid Yuriev
0cc3aa3af8 mdbx: remove unneeded #undef P_DIRTY. 2021-11-26 17:51:37 +03:00
Leonid Yuriev
adac03729d mdbx: remove unneeded usage of <linux/sysctl.h>.
Fixed https://github.com/erthink/libmdbx/issues/245
2021-11-26 17:34:04 +03:00
Leonid Yuriev
76399bd643 mdbx: fix returning MDBX_NOTFOUND for non-exact seek case of MDBX_GET_BOTH.
Fixed https://github.com/erthink/libmdbx/issues/243
2021-11-25 19:19:04 +03:00
Leonid Yuriev
4f2aba2d22 mdbx: minor fix formatting (cosmetics). 2021-11-25 19:15:02 +03:00
Leonid Yuriev
a2141ceaac mdbx: slightly more cases to return MDBX_ENODATA. 2021-11-22 13:48:08 +03:00
Leonid Yuriev
8cb7c0f4fb mdbx: fix MDBX_PROBLEM while update an obsolete meta-page.
Fixes https://github.com/erthink/libmdbx/issues/242
2021-11-21 02:37:56 +03:00
Леонид Юрьев (Leonid Yuriev)
bfff6cfe85 mdbx: fix nasty sizeof(bytes) typo. 2021-11-19 16:21:44 +03:00
Leonid Yuriev
79a5802ad4 mdbx: add the note about "Visual Studio 2015 Update 3". 2021-11-11 20:38:39 +03:00
Leonid Yuriev
0e2ca3eb51 mdbx: more parallelable CMP2INT for E2K. 2021-11-10 03:17:59 +03:00
Leonid Yuriev
e488604448 mdbx: minor fix mdbx_jitter4testing() for case MDBX_DEBUG >= 2. 2021-11-10 03:05:51 +03:00
Leonid Yuriev
eaa77c91cd mdbx: drop obsolete internal mm_flags macro. 2021-11-10 02:43:43 +03:00
sasgas
74d5a42578 mdbx: fix compilation with devtoolset-9 on CentOS/RHEL 7.
devtoolset is always using the old ABI
https://bugzilla.redhat.com/show_bug.cgi?id=1546704
https://stackoverflow.com/questions/49393888/how-can-i-use-the-new-c-11-abi-with-devtoolset-7-on-centos-rhel
2021-11-09 13:29:23 +03:00
Leonid Yuriev
b46e5c4ce8 mdbx: simplify collection of page-ops statistic. 2021-11-07 22:14:33 +03:00
Leonid Yuriev
96139eef48 mdbx: a whole snapshot inside mdbx_env_info_ex(). 2021-11-07 21:18:10 +03:00
Leonid Yuriev
0c3a5da3cb mdbx: refine visibility of internal mdbx_osal_jitter(). 2021-11-07 19:48:14 +03:00
Leonid Yuriev
93a24abbab mdbx: fix minor/paranoid MSVC warning. 2021-10-24 02:28:28 +03:00
Leonid Yuriev
5babf0872e mdbx++: add ifndef-guard for _CRT_SECURE_NO_WARNINGS. 2021-10-22 20:14:12 +03:00
Leonid Yuriev
331232858a adds updating db-format signature during DB open.
Fixes https://github.com/erthink/libmdbx/issues/238.
2021-10-22 20:13:57 +03:00
Leonid Yuriev
fcb8cd2145
mdbx: alter DB-format' signature and change version to v0.11.x (not a release).
Related to https://github.com/erthink/libmdbx/issues/238

Signed-off-by: Leonid Yuriev <leo@yuriev.ru>
2021-10-21 15:17:18 +03:00
Leonid Yuriev
514910621e mdbx: return MDBX_CORRUPTED instead of MDBX_PAGE_NOTFOUND for invalid pages. 2021-10-15 01:11:20 +03:00