Леонид Юрьев (Leonid Yuriev)
106f39327e
mdbx: add mdbx_assert_fail()
to public API.
2022-06-02 20:35:40 +03:00
Леонид Юрьев (Leonid Yuriev)
21e1dc3248
mdbx: fix minor warnings from modern Apple's CLANG.
2022-05-15 23:42:57 +03:00
Леонид Юрьев (Leonid Yuriev)
9230201ca9
mdbx: fix minor warning for MDBX_TXN_INVALID
.
2022-05-03 14:16:19 +03:00
Леонид Юрьев (Leonid Yuriev)
838f8d8fab
mdbx: move most of transactions flags to public API.
2022-05-03 11:49:28 +03:00
Леонид Юрьев (Leonid Yuriev)
eb8bc865d1
mdbx: fix and check width of off_t
for Android.
2022-04-19 20:00:29 +03:00
Леонид Юрьев (Leonid Yuriev)
6f37c8e57f
mdbx: resolve all warnings from MinGW.
2022-03-30 18:13:08 +03:00
Leonid Yuriev
27a513682a
mdbx: disable C5105
warning for Visual Studio > 15.7 (MSVC > 19.14).
2022-03-28 23:57:24 +03:00
Леонид Юрьев (Leonid Yuriev)
71d07b3a8e
mdbx: adding cursors tracking/lists for read-only transactions.
...
Briefly, this commit fixes a missed flaw:
- Cursor tracking is required to replacing shaded pages and adjusting the positions in writing transactions;
- Thus, historically, an internal linked list was maintained for a read-write transactions, but not for a read-only.
For this reason, the API for using cursors should be different for writing and reading transactions;
- However, the libmdbx's API has been significantly improved, including the ability to reuse cursors and a uniform cursors behavior for any kind of transactions.
My mistake is that due to working with MithrilDB, I forgot to make a same changes to libmdbx.
Fixes https://github.com/erthink/libmdbx/issues/272 .
2022-03-03 15:00:28 +03:00
Леонид Юрьев (Leonid Yuriev)
77f236db2a
mdbx: clarify loglevel descriptions.
2022-02-17 02:30:16 +03:00
Леонид Юрьев (Leonid Yuriev)
2b6fd968d2
mdbx: rework functions for meta-pages, split-off non-volatile, more const
.
2022-02-09 22:56:29 +03:00
Leonid Yuriev
79e1cc3bbc
mdbx: add workaround for old MSVC and/or old Windows SDK.
...
Resolves https://github.com/erthink/libmdbx/issues/265 .
Change-Id: I295b5d9d5ecd670ccf258791bf87379a3ca17f21
2022-02-01 13:28:59 +03:00
Леонид Юрьев (Leonid Yuriev)
d93a13294a
mdbx: explicit disable -Wattributes
by #pragma
for GCC < 9.
2022-01-27 17:20:12 +03:00
Leonid Yuriev
cd2c5f594c
mdbx: rework checking MAX_PAGENO
and DB upper-size limit.
...
Related to https://github.com/erthink/libmdbx/issues/260 .
2022-01-21 02:25:27 +03:00
Leonid Yuriev
c588af6aca
mdbx: update Copyright year.
...
Change-Id: Ib3e4c0ac94882c4b2a1e167dd98e6e26dbdf48a4
2022-01-17 11:06:14 +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
Leonid Yuriev
0c3a5da3cb
mdbx: refine visibility of internal mdbx_osal_jitter()
.
2021-11-07 19:48:14 +03:00
Leonid Yuriev
5babf0872e
mdbx++: add ifndef-guard for _CRT_SECURE_NO_WARNINGS
.
2021-10-22 20:14:12 +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
30745e0621
mdbx: refix #pragma pack
for modern compilers and aligned-required arches (hotfix).
...
Fix a regression after the https://github.com/erthink/libmdbx/issues/235
2021-10-13 16:13:22 +03:00
Leonid Yuriev
64e6fa93fd
mdbx: fix #pragma pack
to avoid misalignment for some compilers.
...
Fixes https://github.com/erthink/libmdbx/issues/235 .
2021-10-09 12:36:40 +03:00
Leonid Yuriev
6034985686
mdbx: add MDBX_ASAN_(UN)POISON_MEMORY_REGION()
macros.
2021-07-16 16:03:49 +03:00
Leonid Yuriev
4de2dcebb5
mdbx: increase the MDBX_READERS_LIMIT
to 32767
.
...
Fixes https://github.com/erthink/libmdbx/issues/219 .
2021-07-11 02:44:19 +03:00
Leonid Yuriev
5d4281fbbe
mdbx: minor fix spelling.
2021-06-26 18:54:00 +03:00
Leonid Yuriev
ebab75642e
mdbx: add public MDBX_MAYBE_UNUSED
.
...
This also should fix C++ mdbx API build by MSVC 2015.
2021-05-11 21:07:40 +03:00
Leonid Yuriev
74ea79ac1b
mdbx: minor reorder/shrink transaction fields.
2021-05-10 16:05:19 +03:00
Leonid Yuriev
43f1823cdc
mdbx: minor alignment fix for lck-less stub to avoid false-positive alarm from UndefinedBehaviorSanitize.
...
Change-Id: I8d9bc00ccfc7228cb42f9419cf77e8eadb92f918
2021-05-08 22:43:16 +03:00
Leonid Yuriev
5ae120af80
mdbx-windows: more crutches for MinGW.
...
More for https://github.com/erthink/libmdbx/issues/155
Change-Id: I7de6122ff160372b2dcfd2a0a26e332cb52d0560
2021-05-08 18:38:44 +03:00
Leonid Yuriev
1275bdb623
mdbx: add MDBX_opt_merge_threshold_16dot16_percent
option.
...
Change-Id: I416f85096e4b6fd21f2db622f07f31103cb9074a
2021-05-06 02:05:33 +03:00
Leonid Yuriev
161b00a4b6
mdbx: refine/rearrange build options.
...
Change-Id: Ic27bf2b1f22e7ed9e6a1db9a1ed2496b1bb1239b
2021-04-30 02:01:22 +03:00
Leonid Yuriev
6b6165cdeb
mdbx: rename internal defines/macros to distinguish it from build options.
...
Change-Id: I42fe240e6ddd5d34c8fec38633849ebdcce0e116
2021-04-30 01:59:48 +03:00
Leonid Yuriev
aa5a39160a
mdbx: internal build option for debuging dirtyroom reservation and spilling.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ia315ae2cae5f5b5b82891843de22487db0139df3
2021-04-28 23:38:38 +03:00
Leonid Yuriev
e57e42d0f8
mdbx: use single pointer to lck-less stub.
...
Change-Id: I80542423386bd54cac574d1678af2620f147c769
2021-04-28 23:38:26 +03:00
Leonid Yuriev
89558657ea
mdbx: auto-setup MDBX_opt_txn_dp_limit
.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: I8f8c4f1a2600462bc25b4fad3010a4e6ac70b386
2021-04-28 23:38:16 +03:00
Leonid Yuriev
6134220b8a
mdbx: drop P_KEEP
flag and use LRU-label insted of.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ifd3bd2533b40525dd5b0aa05df421c87462c2439
2021-04-28 23:37:48 +03:00
Leonid Yuriev
f95a277ac5
mdbx: statistics of page operations.
...
Related to https://github.com/erthink/libmdbx/issues/186
Change-Id: Ia00e6e0df9a65f880517ca33e7f444a0526b96e1
2021-04-27 18:02:11 +03:00
Leonid Yuriev
13a784eeed
mdbx: rearrange MDBX_env
ro/rw fields.
...
Change-Id: I055aa6ad592930be2d5d676977fbaa84149472ce
2021-04-27 16:58:31 +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
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
4cf8496422
mdbx: avoid read leaf-pages during dropping trees.
...
Change-Id: Ib8034a76a150c213fddcca0f7df971f63253b7a5
2021-04-18 19:20:16 +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
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
024ccf6826
mdbx: extract mdbx_get_sysraminfo()
.
...
Change-Id: I8821009572d275a3b5d2d8729f605b115a80e50a
2021-04-07 04:45:53 +03:00
Leonid Yuriev
83cd4f7d58
mdbx: separete DKBUF
and DKBUF_DEBUG
.
...
Change-Id: I8d90909ce9c5faec176a12e68f7bab6c2ea1d317
2021-03-28 23:34:41 +03:00