Commit Graph

1589 Commits

Author SHA1 Message Date
Leonid Yuriev
8d4b6b187f mdbx-windows: resize file on umnap.
Change-Id: Ia4739bfcd2cc7b91c14e294c7569cbee582165b1
2018-01-14 21:16:52 +03:00
Leo Yuriev
5acf93c54d mdbx: rework allowing open large DB from a 32-bit environment.
Change-Id: Id7d9e2041158d0715496b852a5ddb297bde1495e
2018-01-14 21:16:52 +03:00
Leo Yuriev
915830d0d3 mdbx: fix mapsize_min typo inside mdbx_read_header().
Change-Id: I65ffebb37f1332832a0e17796ba184be5d3fc929
2018-01-14 21:16:52 +03:00
Leo Yuriev
c2fe0a71bc mdbx-windows: reserve address space to avoid occupy it by other threads.
Change-Id: Ia5caec6bbeb55c7894de70e349e6e9479572b688
2018-01-14 21:16:52 +03:00
Leonid Yuriev
5c058287d5 mdbx-windows: check ability of address space for growth before umnap.
Change-Id: Ibb62dae26ebab8f3efdbf6aed1b26d88ed63a2b7
2018-01-14 21:16:52 +03:00
Leonid Yuriev
373d4ad81d mdbx: allowing open large DB from a 32-bit environment. 2018-01-14 15:39:11 +03:00
Leo Yuriev
8a08df9188 mdbx: check txn inside mdbx_cursor_renew().
Change-Id: I444ff36739d875dda835e8ded7a7aae37c8bd2be
2018-01-11 21:49:29 +03:00
Leo Yuriev
c4007cbc70 mdbx: check txn inside mdbx_cursor_txn().
Change-Id: Ia3d24800890369e3b6cab23d8f69c27246a4f017
2018-01-11 21:48:47 +03:00
Leo Yuriev
6b5533338f mdbx: prohibit recursive txn-begin by MDBX_BUSY.
Change-Id: I46f5159cec72df9c8aece07fbfb462682499a272
2018-01-11 21:15:33 +03:00
Leo Yuriev
18432ebfab mdbx-windows: minor refine LCK_BODY_LEN.
Change-Id: Id02434a12ba66f15b2aa624819c068f6e6fce0d3
2018-01-10 01:02:23 +03:00
Leo Yuriev
455f60eec1 mdbx: minor fix OSAL (extra assert).
Change-Id: I2caad4a9c4638f124a2bae534bff4d9ed7b57f30
2018-01-10 01:01:49 +03:00
Leo Yuriev
abcacea543 mdbx: more pid and MDBX_FATAL_ERROR checks.
Change-Id: Ifa223f270312cb7bbba01bdb76173f8230efb91b
2018-01-09 21:14:42 +03:00
Leo Yuriev
c0be0d6fb7 mdbx: fix mdbx_env_set_geometry() for case remap failed.
Change-Id: I0850692737eaee3c7f33194dfa19b88ce74497c8
2018-01-09 21:13:04 +03:00
Leo Yuriev
8e8c00aadf mdbx-windows: raise MDBX_PANIC if remap failed. 2018-01-09 15:46:42 +03:00
Leo Yuriev
963da34412 mdbx: fix mdbx_env_set_geometry(). 2018-01-09 15:38:03 +03:00
Leo Yuriev
e7922b65fa mdbx-windows: refine mdbx_mresize(). 2018-01-09 15:37:52 +03:00
Leo Yuriev
8d4e212630 mdbx: update README
Change-Id: If8956085ce160d27ee7a22215183a52706efb3c8
2018-01-08 18:49:53 +03:00
Leo Yuriev
f06e1de000 mdbx: update README.md
Change-Id: I55b1704c4116b2e05473018cb7bf378810b94071
2018-01-08 18:49:21 +03:00
Leo Yuriev
59ad929d36 mdbx-windows: fix and refine mdbx_suspend_threads_before_remap().
Change-Id: I4f289f5d603ca18e6714455604dd4ce98931af41
2018-01-08 18:19:25 +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
f10f5b376f mdbx: account freelist-backlog while shrinking DB.
Change-Id: I8b211f281483e7cb6344ef99c571f3516d16f61d
2018-01-07 22:31:34 +03:00
Leonid Yuriev
7812476518 mdbx: fix readonly mapping for Windows.
Change-Id: Ie301d7af74ff91e802aa78af8cfb329f587137ee
2018-01-07 17:08:47 +03:00
Vladimir Romanov
4ed8eddf42 Improve cmake support. Add rpm generation 2018-01-07 15:10:06 +03:00
Leonid Yuriev
d14ca5cc4f mdbx: fix _InterlockedExchangeAdd64 for some 32-bit SDKs.
Change-Id: I18280e8ef6432b9db3c5073fd59eaa102462f98d
2018-01-07 14:35:47 +03:00
Leo Yuriev
897d4dbf87 mdbx: fix growth memory-mapping on Windows.
This resolves https://github.com/leo-yuriev/libmdbx/issues/22

Change-Id: I25c2e65d9f68da8012ee097d3ad579cd548f2e09
2018-01-07 14:31:29 +03:00
Leo Yuriev
91a9d4d916 mdbx: more ntpapi for Windows.
Change-Id: I616b09502302be9e3017db7e99cf4dcf8697f32f
2018-01-07 14:22:17 +03:00
Vladimir Romanov
294d4ac0b9 Add pcrf_test 2018-01-05 05:57:54 +03:00
Vladimir Romanov
35537e05f4 Add pcrf_test 2018-01-05 05:57:33 +03:00
Vladimir Romanov
987940ee6c Add endline 2018-01-04 09:30:42 +03:00
Vladimir Romanov
18a261a6dd Add CMake support 2018-01-04 09:27:09 +03:00
Leo Yuriev
24a8bdec49 mdbx: fix SIGSEGV in case mdbx_env_close_ex() called without mdbx_env_open(). 2017-12-20 14:22:55 +03:00
Leo Yuriev
3e9308eb0e mdbx: check for running write-txn inside mdbx_env_close(). 2017-12-19 16:38:21 +03:00
Leo Yuriev
b1c7fa30c0 mdbx: fix MDBX_BUSY comment/description (typo). 2017-12-19 16:37:20 +03:00
Leo Yuriev
96a0647253 mdbx-windows: fix mmap-resize (add MEM_RESERVE afrer NtExtendSection). 2017-12-19 16:07:30 +03:00
Leo Yuriev
8008e23cfa mdbx-windows: minor fix for legacy Windows SDK. 2017-12-19 16:07:25 +03:00
Leo Yuriev
a5b077b2f0 mdbx: minor clarify mdbx_env_set_geometry(). 2017-12-19 15:33:25 +03:00
Leo Yuriev
46a3d4e0a3 mdbx: fix assertion (minor, not a malfunction).
The `env->me_sync_pending` could be zero
when `mdbx_sync_locked()` called from `mdbx_env_set_geometry()`.

Therefore `mdbx_assert(env, !META_IS_STEADY(head) || env->me_sync_pending != 0)` at the top of `mdbx_sync_locked()`
could be trigger assertion failure.
2017-12-18 14:39:41 +03:00
Leo Yuriev
e68cce8412 mdbx: refine README. 2017-11-15 19:14:14 +03:00
Leo Yuriev
a63c18261a mdbx-bench: add 'bench-quartet' target. 2017-11-13 20:36:23 +03:00
Leo Yuriev
c72bc2e122 mdbx-bench: add other KV-drivers from ioarena.
Change-Id: I5a68d17d39d97aa18d6415dbd5994f2a34c178b1
2017-10-29 12:33:46 +03:00
Leo Yuriev
fc1bbf3a4b mdbx: disable 'unreachable code' for MSVC.
Change-Id: I4f9887b557885cb9a3829d19a56d332c76656cf8
2017-10-29 03:23:39 +03:00
Leo Yuriev
866ca18970 mdbx: add few __fallthrough and __unreachable.
Change-Id: Ife18986a3a6391c76f63d12f8102bd6670ae63eb
2017-10-29 02:12:05 +03:00
Leo Yuriev
aec2445161 mdbx: rework '_noop' and related macros.
Change-Id: Ic9ff3662a6abeb64aa0816e448007dd524794b1e
2017-10-29 02:12:05 +03:00
Leo Yuriev
db4ab61a0c mdbx: drop '__packed'.
Change-Id: Idf3e510733adb2b12b94fe1dcd22f76e02df955b
2017-10-29 00:59:11 +03:00
Leo Yuriev
6f6b360aba mdbx: add/fix 'fallthrough' for GCC 7.x
Change-Id: I45c57ea910978aaa857086d7794ad92ba0ae7157
2017-10-28 11:45:04 +03:00
Leo Yuriev
03db768830 mdbx-bench: rename log-file instead of remove it in case of error. 2017-10-27 18:26:59 +03:00
Leo Yuriev
d1f04656ab mdbx: more robustness for thread checking while reset/renew/abort of txn. 2017-10-27 18:01:32 +03:00
Leo Yuriev
d4bf0a3332 mdbx: refine/simplify mdbx_find_oldest().
Simplify b6f14780e3
2017-10-27 15:43:06 +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