Commit Graph

336 Commits

Author SHA1 Message Date
Leonid Yuriev
ffa10a25d6 mdbx: use enums & bool in the C API.
Change-Id: I952f578cceb7d02ade16f545d47245d4d9106441
2020-08-06 01:48:56 +03:00
Leonid Yuriev
1e7a1da14e mdbx: separate transaction flags.
Change-Id: Ib9a0f6946e1ecf35059e2dccc91319ae130c9f9b
2020-08-06 01:48:56 +03:00
Leonid Yuriev
5e43ee61a2 mdbx: drop/deprecate MDBX_MAPASYNC.
Change-Id: I472f97f568a32325eb056c8ee4d2f2350a473bda
2020-08-06 01:48:56 +03:00
Leonid Yuriev
a902538e34 mdbx: more Doxygen tags (almost done).
Change-Id: I696e717e37a905f68af059c51f9df327c257332e
2020-07-24 22:49:21 +03:00
Leonid Yuriev
b6085afb5a mdbx-test: minor fix for MSVC-2015.
Change-Id: I631009ffe0b04428026492d1cab691b58fdd160a
2020-07-08 03:13:07 +03:00
Leonid Yuriev
9720ed39f5 mdbx: using enum instead of #define for flags/modes.
Resolve https://github.com/erthink/libmdbx/issues/108

Change-Id: I45897300375d2b5b9361aaba81dadcf9801fe3cf
2020-07-08 02:26:46 +03:00
Leonid Yuriev
2e0d2e65af mdbx: fix minor typos. 2020-07-07 23:16:43 +03:00
Leonid Yuriev
0fb127b935 mdbx-test: add --random-writemap[=YES|no] option.
Change-Id: Ie83f64d4a7e199f828540f029c2c47deddb05c01
2020-07-06 14:35:41 +03:00
Leonid Yuriev
2ee45b1820 mdbx-test: using std::atomic<> instead of sig_atomic_t.
Change-Id: I37d0c2768ec54ddd3c529d4b9a29f66df6ca265e
2020-06-26 03:33:53 +03:00
Leonid Yuriev
95199c754a mdbx-cmake: fixes for old C/C++ compilers and/or CMake. 2020-06-26 03:28:15 +03:00
Leonid Yuriev
171a254425 mdbx-test: use banner tool only when available.
Change-Id: I4b9bffffc69e664fbca8346312934534ad7579e7
2020-06-20 19:03:10 +03:00
Leonid Yuriev
21fba6577a mdbx-test: fix clang/glibcxx incompatibility.
Change-Id: I59c4f486431126396dc59a84914d78e0eeff1f4c
2020-06-04 19:57:07 +03:00
Leonid Yuriev
c9f461c4eb mdbx-test: don't use --speculum option for nops > 10K.
Change-Id: I431e2de1882fab8a176b51aa9aa19cb409559181
2020-05-28 00:42:15 +03:00
Leonid Yuriev
7f920b5cfc mdbx-test: minor refine comments & keygen-params ranges.
Change-Id: I8ebb0647d4d5a8637d57a39e9ddee4727bffb18f
2020-05-26 18:40:10 +03:00
Leonid Yuriev
ffa29f9466 mdbx-test: 17Gb DB size for long-stochastic. 2020-05-26 15:46:52 +03:00
Leonid Yuriev
02ebd4db78 mdbx-test: cosmetics (use banner) for long-stochastic. 2020-05-26 15:11:59 +03:00
Leonid Yuriev
f7b8b699b8 mdbx-test: engage '--speculum' option to long-stochastic.
Change-Id: Ie43460752abc6590b9abce995290d8a290759a1c
2020-05-25 14:53:38 +03:00
Leonid Yuriev
782429487f mdbx-test: add '--keygen.zefofill=NO' option.
Change-Id: Iec45ab7a79846acc66cb034000ff3c146921e02a
2020-05-25 14:53:38 +03:00
Leonid Yuriev
2c8f115400 mdbx-test: fix nops_completed type.
Change-Id: I9b9930bc26d4301d0da0fdf59bc70befc37e2f6a
2020-05-25 14:53:38 +03:00
Leonid Yuriev
4da4ab3650 mdbx-test: alter/refine iteration loops.
Change-Id: I78657b0c736d84dc3fbb75ad28a9465cad0ff4b2
2020-05-25 14:53:38 +03:00
Leonid Yuriev
bfad1f7086 mdbx-test: redesign fitting internal parameters of "ttl" & "nested" testcases.
Change-Id: I3ade4ba9d78c00ff6911c3e35738f7dcbf63de64
2020-05-25 14:53:38 +03:00
Leonid Yuriev
d83a765dbe mdbx-test: don't fail "ttl" & "nested" testcases on key-space overflow.
Change-Id: I6788a02ecd88bec086b1d12c3d9246c8de59ed29
2020-05-25 14:53:38 +03:00
Leonid Yuriev
a9705c4f34 mdbx-test: print reached depth from long-stochastic script.
Change-Id: I4a2a17d5e3fc833038f490a8b3a818843c0fc83a
2020-05-25 14:53:38 +03:00
Leonid Yuriev
f7aac55374 mdbx-test: output b+trees depths from 'hill' testcase.
Change-Id: I69451096186bf35ee5816f6c7f5a101781f58214
2020-05-25 14:53:38 +03:00
Leonid Yuriev
4dc7f0cb4b mdbx-test: rework cycling for ttl & nested testcases.
Change-Id: If2f83187bd7998c2ddc7e2487a17d13648241b9c
2020-05-25 14:53:38 +03:00
Leonid Yuriev
a85ae436eb mdbx-test: simplify txn commit/abort path.
Change-Id: I86780a43f9f7b1a52dfa97168ad53cf7389d5e2e
2020-05-25 14:53:38 +03:00
Leonid Yuriev
2e7e1079c4 mdbx-test: auto-reducing nops for nested and ttl testcases.
Change-Id: Ie060c580e87becbc033611e00532449522f3adbe
2020-05-25 14:53:35 +03:00
Leonid Yuriev
3990f1cc07 mdbx-test: implement 'speculum' checking for ttl testcase.
Change-Id: Ic825711893f782a71e75447575ac76644ac3f482
2020-05-23 01:34:50 +03:00
Leonid Yuriev
cefbe02130 mdbx-test: add dump-load.sh script. 2020-05-15 22:03:29 +03:00
Leonid Yuriev
0ee51f816e mdbx-test: revert removal of the vector[...] pattern to avoid issues from old Valgrind.
Change-Id: Idb16591254cf7f89b5cb9971aef7bb107736ca80
2020-05-15 11:30:35 +03:00
Leonid Yuriev
68241762e7 mdbx-test: implement cleanup(). 2020-05-15 11:30:35 +03:00
Leonid Yuriev
a2c534b391 mdbx-test: refine long_stochastic script.
Change-Id: Ic2aecfcb7e7f9b7233c7e72b6a34fb565fab6922
2020-05-15 11:30:35 +03:00
Leonid Yuriev
42dd0219e4 mdbx: minor fix/refine comments. 2020-05-15 11:30:35 +03:00
Leonid Yuriev
051d9e6f91 mdbx-test: remote obsolete vector[...] pattern from Valgrind's suppressions.
Related to https://github.com/erthink/libmdbx/issues/82

Change-Id: I603b9ffe55692af430b2dcbc577a9e7055fce3d5
2020-05-03 20:44:49 +03:00
Leonid Yuriev
5819f7a468 mdbx-test: update suppressions for modern Valgrind.
Related to https://github.com/erthink/libmdbx/issues/82

Change-Id: I6079a40274349516d285c85b3c766d6029ac8826
2020-05-03 20:31:02 +03:00
Leonid Yuriev
8c29c3711d mdbx-test: mdbx: avoid gcc-anylyzer false-positive warnings. 2020-05-02 22:38:53 +03:00
Leonid Yuriev
07174cbfdf mdbx-test: fix minor Coverity warnings.
Change-Id: I53ab4ee10317b4530db727ed0b431e5de9887b74
2020-05-01 02:42:28 +03:00
Leonid Yuriev
5d7d45f0e5 mdbx-test: minor cleanup osal_delay() for Windows.
Change-Id: If9c57cc1eba4c873be5d9176f7f6745c2363a0d6
2020-04-17 00:37:57 +03:00
Leonid Yuriev
971f924c44 mdbx-build: rearrange source files, rework CMakeLists.txt and refine GNUMakefile (squashed).
Change-Id: Id73d346695011dab2f670bb9e6293a1e5a1835ca
2020-04-17 00:37:57 +03:00
Leo Yuriev
56222db3ba mdbx-test: follow MDBX_UNABLE_EXTEND_MAPSIZE changes.
Change-Id: I3c0074db11e229c5a7aaac6a589a42c041666b17
2020-02-28 17:39:52 +03:00
Leonid Yuriev
aeda2aa8c5 mdbx-test: minor cleanup pcrf-test/example.
Change-Id: Ie4d56592c8dd561d49ca423c2a8ac653a9e853ee
2020-02-01 20:43:18 +03:00
Leonid Yuriev
7c894f0542 mdbx: HNY!
Change-Id: Idbd21263408f87ac2715675c9f7ccc6c44d41c9a
2020-01-21 00:17:55 +03:00
Leonid Yuriev
8cd7cfc65d mdbx-test: refine jitter testcase.
Change-Id: If1a3774da2b8b29249d81a54799117646820c036
2020-01-06 01:42:31 +03:00
Leonid Yuriev
230e4654f1 mdbx-test: don't use MDBX_DBG_DUMP.
Change-Id: I10274a2037d0630b5ba5ea39a67a107c5615e4cd
2020-01-05 15:17:06 +03:00
Leonid Yuriev
cda829b327 mdbx-tests: fix built-in help.
Change-Id: Ia4073e6394b48ceef7b032bd023d4d409efc7667
2020-01-05 00:49:16 +03:00
Leonid Yuriev
1c4b80ec61 mdbx-test: output txn-size limit into test-log.
Change-Id: Ib4b7b5932df794879226e0d32c8a7e6b1d31d17f
2020-01-05 00:34:33 +03:00
Leonid Yuriev
b3a5ab692b mdbx-tests: add notls into long-stochastic.
More for https://github.com/leo-yuriev/libmdbx/issues/72

Change-Id: I62468a38844292bc4073e36d70e7b7ee8d1a6009
2019-12-28 02:28:36 +03:00
Leonid Yuriev
4eccf901ea mdbx: rename MDBX_NOSYNC to MDBX_SAFE_NOSYNC for clarity.
Change-Id: I1d04600832cb7c86c578d72f3d6163ee22d134b7
2019-12-15 15:17:24 +03:00
Leonid Yuriev
feb8dbf6d9 mdbx-test: fix single-actor mode for Windows. 2019-12-07 03:08:03 +03:00
Leonid Yuriev
64eeb623be mdbx-tests: add db-resize to jitter case.
Change-Id: I414e8f3fa676ab7e6716a58cfbc213e0ad4258f9
2019-12-07 03:08:00 +03:00
Leonid Yuriev
94d90d87db mdbx-test: cleanup pcrf_test from deprecated API.
Change-Id: I06bffb666bb0b202c5d18c838d5f06a1d0381b60
2019-12-03 03:23:39 +03:00
Leonid Yuriev
229416a6f4 mdbx-test: fix SEM_A/SEM_R for NetBSD. 2019-11-30 01:29:48 +03:00
Leonid Yuriev
d80654fa07 mdbx: rework max key-length and limit API.
Change-Id: I3d783f69d4ea438d8a8a0505fa9163715fbdcf9c
2019-11-30 01:29:48 +03:00
Leonid Yuriev
e69a7c1ba2 mdbx-test: minor refine nested case.
Change-Id: Ib790c762b4d87a12d0c53e490e06638d0be0cd33
2019-11-26 15:43:06 +03:00
Leonid Yuriev
fa8b68af1f mdbx-test: fix speculum_verify().
Change-Id: I5bdcf771dd5d6117230c964616b4f4ed81f084f7
2019-11-26 15:31:04 +03:00
Leonid Yuriev
f008876a93 mdbx-test: fix rusage for single-mode.
Change-Id: Id1928ad6061306b4d85f38cd296e172615d92741
2019-11-26 15:29:37 +03:00
Leonid Yuriev
497aa53e28 mdbx: fix minor typos.
Change-Id: Ib0c62eace9c766844a3f44124b525a3c6373c620
2019-11-18 00:13:27 +03:00
Leonid Yuriev
42d9e06598 mdbx: add MDBX_ACCEDE environment opening flag.
Change-Id: If0a08d6fce127f35ff2992988715b7dc1fdb70a9
2019-11-16 00:23:03 +03:00
Leonid Yuriev
fe40af160d mdbx: split-off mdbx-options into options.h. 2019-11-13 23:50:38 +03:00
Leonid Yuriev
d3e4a4659f mdbx-test: use SysV semaphores on systems without shared mutexes.
Change-Id: Icc8bbbb9237917932e360920d613ee7f37a57710
2019-11-13 11:31:22 +03:00
Leonid Yuriev
c882f77f54 mdbx-test: refine locking options.
Change-Id: I6cb8798fd71b4b1ce2a76238ba955e7f6d539e45
2019-11-13 11:31:22 +03:00
Leonid Yuriev
5af02290e6 mdbx: portability fixes for SunOS/Solaris/OpenIndiana.
Change-Id: I0442367e798903598d706c65b536a127ca982fce
2019-11-11 15:13:56 +03:00
Leonid Yuriev
6a7499c8fc mdbx: refine POSIX-options detection. 2019-11-11 13:10:22 +03:00
Leonid Yuriev
885d5b2121 mdbx-test: support for systems lack of _POSIX_THREAD_PROCESS_SHARED.
Change-Id: I75437b83b430eaa10551a74b786faaba407d7026
2019-11-11 13:10:22 +03:00
Leonid Yuriev
3e7944f732 mdbx: use POSIX.1 IPC semaphores on systems without shared mutexes.
Change-Id: I5e398257e65c355d1028167f2719232fc55d093a
2019-11-11 13:08:19 +03:00
Leonid Yuriev
ca06572e2a mdbx-test: add built-in help/usage.
Change-Id: If6e5e15622810b52d8db71db839942ab5f9444f3
2019-11-04 00:22:13 +03:00
Leonid Yuriev
5233a3cdb4 mdbx-test: add resource usage (CPU time).
Change-Id: I96b9bc9e748186ef122c809386ec3f52259d3b33
2019-11-04 00:22:13 +03:00
Leonid Yuriev
2c48f295b0 mdbx-tests: simplify/speedup basic testcase.
Change-Id: Iaaa4eb784be6fc8bc84ceddc202dbe524bea1dc9
2019-11-04 00:22:13 +03:00
Leonid Yuriev
b4a5728455 mdbx: rework readahead management.
Change-Id: Ic1e2f3f5bd7fb2e9fd8d5820816e3d2def6ec1b3
2019-11-04 00:22:13 +03:00
Leonid Yuriev
84bff89eb1 mdbx: conform to and use -Wpedantic.
Change-Id: I3056af7ae53c5a7c3ecbfe828ab1d5ee94c2bc26
2019-10-26 00:02:28 +03:00
Leonid Yuriev
81fd0beb1a mdbx: rework/fix unaligned access.
Change-Id: Ib0208e78786ac84551384ed57ac580fe0717840e
2019-10-24 22:12:14 +03:00
Leonid Yuriev
70350bad81 mdbx-cmake: require C99 or use C11 when available.
Change-Id: I241e8c38232750efb537a0b581f822540f207cdc
2019-10-24 22:12:14 +03:00
Leonid Yuriev
0137d1f303 mdbx: alter Valgrind suppressions.
Change-Id: Ia662fe80eb22efb98a63acdf390e5e03cc5953b2
2019-10-21 10:00:55 +03:00
Leonid Yuriev
72f2a315c4 mdbx-test: don't filter lib's output by test's log-level.
Change-Id: Ieb45a532aee9b2a3d8ef11eb315b7eb01c1c0ef1
2019-10-21 07:50:11 +03:00
Leonid Yuriev
7681132704 mdbx-test: more probability of zero-window (i.e. flipcoin_x4) for ttl and nested testcases.
Change-Id: Ida539a080f86e046c7f10320b504d58219560c3d
2019-10-21 07:50:11 +03:00
Leonid Yuriev
7878b2e31d mdbx-test: less probability for aborting nested transactions in nested testcase.
Change-Id: Idf12b69313af7f11a0c9c457942d7a442e37e7b4
2019-10-21 07:50:11 +03:00
Leonid Yuriev
2280ab0513 mdbx-build: refine memcheck target.
Change-Id: I8551c5d7ce5249a16959d34c1272c38cd1ad2d27
2019-10-15 21:54:31 +03:00
Leonid Yuriev
3ce4c3a0e4 mdbx-test: minor refine actor_poll() for Windows.
Change-Id: Ic1d98ae9e6d8bd7534390b15682f0bc7d1e73fac
2019-10-12 11:10:45 +03:00
Leonid Yuriev
23733bf4af mdbx-test: rework/fix actor_poll() to avoid loosing SIGCHLD.
Change-Id: I93aa2aa40e07e807795e050cd468d77dab62e67a
2019-10-12 11:10:45 +03:00
Leonid Yuriev
39c1238d8e mdbx: refine Valgrind support (i.e. avoid false-positives).
Change-Id: I688b2e905d0b705c34ab29df29bfd0a9bcdde8c9
2019-10-11 01:06:26 +03:00
Leonid Yuriev
13b52b1d51 mdbx-test: avoid redefine xSEC_PER_SEC.
Change-Id: I67fd2b12d5745f4f14f8da80ee313234a4e35617
2019-10-10 22:53:13 +03:00
Leonid Yuriev
7ed1586ea6 mdbx-test: fix for MDBX_BAD_TXN in case txn auto-cancelled during commit.
Change-Id: I1fafed6f6ac55de171d24947039f37eb4cb384a9
2019-10-10 22:36:53 +03:00
Leonid Yuriev
0616fa72d4 mdbx-test: minor fix nested case.
Change-Id: Ic9e2b9e9fb8a7c79c5a4e89fb6fa45c23d2d3985
2019-10-10 22:15:15 +03:00
Leonid Yuriev
e5bd1a6d6f mdbx-test: fix MSVC warnings (minor). 2019-10-10 00:57:22 +03:00
Leonid Yuriev
95bb371b0d mdbx-test: fix build by non-c++17 compilers.
Change-Id: I899f1a39eb8fde3ce3821b5964885f1121e65be3
2019-10-10 00:29:51 +03:00
Leonid Yuriev
0f8b2ff399 mdbx-test: add nested testcase.
Related to https://github.com/leo-yuriev/libmdbx/issues/62

Change-Id: I5fee861582987cc11a648a3365b19c28e493317d
2019-10-09 23:38:44 +03:00
Leonid Yuriev
66430fd10d mdbx-test: add verifying by speculum option.
Change-Id: I3d689234d0214f93f27dd2581bd9d0658692c0c9
2019-10-09 23:35:26 +03:00
Leonid Yuriev
85cd04b712 mdbx-test: using c++17 (for std::string_view).
Change-Id: I79d9bac8ea8ba6c337d71683549a37c8434b93fa
2019-10-06 18:45:52 +03:00
Leonid Yuriev
f629914217 mdbx-test: add dataset verification to hill testcase.
Change-Id: I8b781e98a02a8c32eeb82e54821b0941556d9f8c
2019-10-06 13:07:15 +03:00
Leonid Yuriev
e3b5381f30 mdbx-test: fix enabling MDBX_DBG_AUDIT.
Change-Id: If30f607f4c74f2bc39bd6b85dabbeb474284b989
2019-10-04 18:52:15 +03:00
Leonid Yuriev
5420a3b2fb mdbx-test: less detailed logging for Windows to avoid test-timeout.
Change-Id: I66e66e3a5c589106fe58dda554491890e0a22011
2019-10-02 13:52:54 +03:00
Leonid Yuriev
632e688202 mdbx-test: rework progess inticator.
Change-Id: Iaf3f7823ab7a0fe9f00607eb803390669c37005f
2019-10-02 02:51:50 +03:00
Leonid Yuriev
4d49112a56 mdbx-test: refix logging.
Change-Id: I8852cca84669b4da2a994f2d5d2cec833e21f2f6
2019-10-02 00:12:04 +03:00
Leonid Yuriev
87f8c01ac4 mdbx: add space argument for oom-callback.
Change-Id: I27634e02046df375fffae66de3124e8cd90cc61c
2019-09-30 00:15:13 +03:00
Leonid Yuriev
20447c877d mdbx: refine mdbx.h and API description, etc (5 of 5).
Change-Id: I851736cccb4d0271d6f351e1358cc5c4e1257bb4
2019-09-27 02:28:17 +03:00
Leonid Yuriev
1ab33333bc mdbx: refine options and build-info.
Change-Id: Ib1a778dd27a0ea8b3a05484b2208e2222736b2d3
2019-09-25 19:03:04 +03:00
Leonid Yuriev
40ee895aae mdbx: refine internal debug facilities.
Change-Id: I934cb8587f07c59268b16a0dd99daeb7ac440e62
2019-09-24 10:07:50 +03:00
Leonid Yuriev
d1d1258591 mdbx-build: made 'config.h' optional.
Change-Id: Iafc968cb7000f77cf23169ce07b532386bbce029
2019-09-10 15:52:37 +03:00
Leonid Yuriev
e08787afca mdbx-test: fix win32 build (minor warnings).
Change-Id: Ibe66ddcad98f21fd8dc508ea6bd43d4568266972
2019-09-10 13:41:37 +03:00
Leonid Yuriev
e7095e9ada mdbx: remove UTF8-BOM (preparation for 'make dist').
Change-Id: I2d0ccc9f7bbed6d57b2fe6ef156f33531a4eeb69
2019-09-10 02:18:50 +03:00