Leonid Yuriev
3ac2af61aa
mdbx: cleanup msvc-compat feature test defs.
...
Change-Id: I2c61bcecedc32beb3b0d70180da9e52cb7e6c9eb
2019-07-13 12:07:14 +03:00
Leonid Yuriev
53563e75bb
mdbx: fix DB-shrinking race with copy-asis & readers.
...
Change-Id: I1e05616de03d814850a1c8ad20e83941b2d1c911
2019-07-09 00:41:04 +03:00
Leonid Yuriev
06f16464aa
mdbx-test: adds more jitter while DB opening.
...
Change-Id: Ic0f03f4fbe064ea00f719baa11b28cc24aafcb5b
2019-07-07 21:21:54 +03:00
Leonid Yuriev
e26b7501eb
mdbx: add MDBX_EPSILON support for mdbx_estimate_range().
...
Change-Id: I2d89a9f20bfa16c8f35a4381709bc54f86f0ff67
2019-05-25 19:10:38 +03:00
Leo Yuriev
46b551e386
mdbx: add in-source definition for _POSIX_C_SOURCE and _XOPEN_SOURCE (musl).
2019-03-04 13:33:27 +03:00
Leo Yuriev
9cc9116df3
mdbx: 2019 HNY.
...
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
2019-02-03 12:28:01 +03:00
Leonid Yuriev
3c4e9443ae
mdbx: allow devel-signatures (for Miranga-NG).
...
Binary format of v0.1.x and v0.2.x is frozed.
This commit allows to open DBs created early by devel-versions of libmdbx.
It seems to be required for Miranda-NG users, but no one else.
Change-Id: Icf1d0477dcc3d212e03c87ab8c5255c3382425e5
2018-10-15 12:30:24 +03:00
Leonid Yuriev
ded5269937
mdbx-windows: rework mdbx_assert_fail() and mdbx_panic() to avoid dependency from CRT.
...
7 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I40dc8d6a7d1d955c13c7d328ee904f0e6f30b248
2018-10-14 14:57:03 +03:00
Leonid Yuriev
4117c9f111
mdbx: move macros/inlines to fix Windows builds.
...
Change-Id: I48aaf6b77466bb8b13294b84de73fb6063c88190
2018-09-19 00:24:49 +03:00
Leonid Yuriev
60bba72aa1
mdbx: re-define assert macro via mdbx_assert.
...
Change-Id: I317801ba4200bdf1aa5cacf75d21a8e633fbc48a
2018-09-19 00:07:39 +03:00
Leonid Yuriev
ab5668cf29
mdbx: add MDBX_FORCE_ASSERT.
...
Change-Id: I68a9f7b42663ea157c7c0a5a58797c94127b45ed
2018-09-19 00:07:39 +03:00
Leo Yuriev
6206b67d32
mdbx: rework move-node and split add-node.
2018-09-13 20:28:40 +03:00
Leonid Yuriev
b6aace0825
mdbx: refine page-type macros.
...
Change-Id: I9f331bf17c1de1a1402d66e8b4081f31133e2b59
2018-09-13 20:06:13 +03:00
Leo Yuriev
cbafb3f471
mdbx: update DBXs with cursor-tracking.
2018-09-13 17:40:55 +03:00
Leo Yuriev
e00dce3543
mdbx: rework PNL, DPL and TXN lists.
...
Change-Id: I79c7399912516b17cc255fc8e24b5941338e5eb1
2018-09-13 17:40:55 +03:00
Leonid Yuriev
02f3230e0c
mdbx: rework cursor's couple (required for further fixing).
...
Change-Id: Ic89c59eaea36d14a26e29d2012c693d92474a748
2018-09-13 16:38:43 +03:00
Leo Yuriev
3a2ea85c79
mdbx: alter cursor flags.
...
Change-Id: Icab3ca150b2c2cb003dbedb24024fe142c540082
2018-09-13 15:43:08 +03:00
Leo Yuriev
8966a1773c
mdbx: add C_GCFREEZE cursor's flag.
...
Change-Id: I813a2c2ac30564d8943f0cf50a601b858dda0bd9
2018-09-12 19:51:05 +03:00
Leonid Yuriev
f373a0ca84
mdbx: rework/speedup filtering of dirty-list from loose-pages inside mdbx_update_gc().
...
Change-Id: Icf4101fa77314ab79be90ee429cf2df639686d7e
2018-09-12 19:48:06 +03:00
Leonid Yuriev
8abff4773f
mdbx: rework ID2L.
...
Change-Id: Ia5b47bcceb176c994bfe59373242f8622389697e
2018-09-12 19:29:25 +03:00
Leonid Yuriev
25fc9305dd
mdbx: add MDBX_WORDBITS, update MAX_PAGENO.
...
Change-Id: Ibb0425cee9fd2870298e25f82ab094e57ac63f96
2018-09-12 19:28:51 +03:00
Leonid Yuriev
08fa2c1746
mdbx: drop/replace PNL-constant with MDBX_LIST_MAX.
...
Change-Id: I71722f06c771ad57e3e7ca84f3d497750cae8419
2018-08-21 22:19:20 +03:00
Leonid Yuriev
0797ae2270
mdbx: set basic size of PN-lists to 2^24 for large TXN.
...
Change-Id: I6bc293d8940166da7df0a291fed8b5db794db9b9
2018-08-21 22:19:20 +03:00
Leonid Yuriev
434f0d5b57
mdbx: fix/rewrite mdbx_update_gc().
...
Change-Id: I580a1ff0cbeeb529e2bcbd50d97bfba7bcf5a546
2018-08-13 01:21:07 +03:00
Leonid Yuriev
c472300b13
mdbx: add MDBX_PNL_MAX and checking size of lists.
...
Change-Id: I32e31d2caf676e1e96cc4f82610544b5c5ee3a6d
2018-08-10 12:31:29 +03:00
Leo Yuriev
d90e6187f7
mdbx: support exclusive mode without lck-file.
...
Change-Id: I1beef09d62965d0d777f579a8aa6f15c478eebd2
2018-06-30 14:15:24 +03:00
Leo Yuriev
09ad941a05
mdbx: Windows XP compatibility.
...
Change-Id: Iafe3a83110610071e42a168ef9fc5f8d3131854f
2018-06-20 13:47:14 +03:00
Leo Yuriev
9f2bf6a377
mdbx: provide SRWL stub for Windows XP/2000.
...
Change-Id: I438373a4952298efc88ca4c1a92c88e173b82f98
2018-06-20 13:47:14 +03:00
Leo Yuriev
9db090087e
mdbx: reformat by clang-format 6.0 (cosmetic).
2018-06-18 21:29:12 +03:00
Leo Yuriev
2f983b281d
mdbx: drop MDBX_DEVEL.
...
Change-Id: I5fc1a240e7909b8ecaf2ef19a83a9e59ea5609ba
2018-06-13 11:37:56 +03:00
Leo Yuriev
e86bd88751
mdbx: disable warning #5045 for MSVC (minor).
2018-05-21 16:31:36 +03:00
Leo Yuriev
571b50622e
mdbx: restore workaround for glibc's bug #21031 .
...
Workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=21031
Change-Id: I6cf9e037cc2fc298096b78ec96773f19478ed5c0
2018-04-03 17:44:18 +03:00
Leo Yuriev
61a2c56784
mdbx: fix/rework cache-line alignment.
2018-03-22 21:11:26 +03:00
Leo Yuriev
195b53374e
mdbx: fix #pragma pack(pop) balance.
...
Thanks to <Sergey.V.Barannikov@mcst.ru>.
2018-03-14 16:05:43 +03:00
Leo Yuriev
f521b6615e
mdbx: fix #endif's comment (cosmetics).
2018-03-14 15:32:32 +03:00
Leo Yuriev
9bbc62f5a0
mdbx: refine internal warnings control.
2018-03-14 15:16:49 +03:00
Leo Yuriev
8c96b1e73b
mdbx: fix missing MDBX_DEVEL=0.
2018-03-14 15:07:16 +03:00
Leo Yuriev
483c4abb3f
mdbx: remove Elbrus's alignment_reduction_ignored workaround.
2018-03-14 14:57:46 +03:00
Leo Yuriev
c267a71475
mdbx: workaround for "alignment-reduction-ignored" lcc's bug.
...
Change-Id: I000bfaffd78ef7b6e27d6178bc2a5defc32cc357
2018-03-07 13:59:51 +03:00
Leo Yuriev
a2099586ed
mdbx: disable -Wno-constant-logical-operand inplace.
...
Change-Id: I0f7745f40e3340ba6d14d985a735777667a7bdde
2018-03-07 13:18:30 +03:00
Leo Yuriev
62603aeadc
mdbx: add ifdef-guard for clang < 3.8
...
Change-Id: Iba7a90e2548056cbdf07ae471eb002da7145821c
2018-03-07 13:06:39 +03:00
Leo Yuriev
a93fafceff
mdbx: strip utf8-bom for Elbrus (minor).
...
Change-Id: I9030abe267c4abfa2c5c2deb439c0b8025b83047
2018-03-07 12:09:43 +03:00
Leo Yuriev
72557af2b5
mdbx: HNY!
...
Change-Id: I2a91b986964d96bb3e5f848e3c17408bd7745866
2018-02-04 13:10:54 +03:00
Leo Yuriev
6a0ff097ee
mdbx: immediately share dbi-handles for present TBLs (major).
...
Change-Id: I75c998e06b3ccc25bd22ef389d119052d524d70b
2018-02-04 12:59:47 +03:00
Leo Yuriev
5cfec7a832
mdbx: workaround for Windows LockFileEx/WriteFile bug.
...
This resolves https://github.com/leo-yuriev/libmdbx/issues/25
2018-01-31 15:26:44 +03:00
Leo Yuriev
30bd7d3078
mdbx: shrinking memory-mapping for Windows (initial).
...
Change-Id: I3c3c2df0747c788ea36d7764c1e8139098ca62be
2018-01-08 17:47:41 +03:00
Leo Yuriev
fc1bbf3a4b
mdbx: disable 'unreachable code' for MSVC.
...
Change-Id: I4f9887b557885cb9a3829d19a56d332c76656cf8
2017-10-29 03:23:39 +03:00
Leo Yuriev
1a27e40701
mdbx: Merge branch 'fix-after-txntry'.
2017-10-27 14:17:43 +03:00
Leo Yuriev
b6f14780e3
mdbx: fix performance degradation in the absence of readers.
...
Change-Id: I59a51b61918463e68d3e0490c715f4dcc9ecb788
2017-10-27 13:36:10 +03:00
Leo Yuriev
17b8e48bf4
mdbx: cleanup after last pull-request.
...
Cleanup after 4e40af60e74143aedaa8d295f0f33a3c892a1c9b (Merge pull request #20 from rouzier/feature/txn_try).
2017-10-26 21:49:38 +03:00