1614 Commits

Author SHA1 Message Date
Leonid Yuriev
d67d3f97cc mdbx-build: fix bench target.
Change-Id: I884e8d16a8b851d87c62d4166b586ed079c1f3eb
2019-10-11 16:03:54 +03:00
Leonid Yuriev
9e42fc4fe0 mdbx-build: fix GNUmakefile for git-submodule case.
Change-Id: Ideae8035e776c338a3a5cd4a5c0f2ce8266541e9
2019-10-11 15:54:54 +03:00
Leonid Yuriev
8861f1377c mdbx: roundup buffer size inside env_copy2fd().
Change-Id: Iaa9d1adb934d36a28be3804683ffbaf43552d54b
2019-10-11 14:16:49 +03:00
Leonid Yuriev
4d692821cb mdbx: partial workaround for ASAN false-positive (due internal bug).
Change-Id: Ib86e187e58f3efbb5e5da95219f1b6e990022b9a
2019-10-11 14:16:15 +03:00
Leonid Yuriev
456f77abec mdbx-ci: extend check-targets with nested-txn cases.
Change-Id: I9a5de3b1fd433a64ade9d3dcc0c597f05a408440
2019-10-11 01:06:26 +03:00
Leonid Yuriev
3c4d87520e mdbx: drop NEXT_LOOSE_PAGE macro.
Change-Id: Icee989a7bcd89a5fcd2664c6a9a99cdc546cc8f1
2019-10-11 01:06:26 +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
ab01078cd7 mdbx: refine/fix SORT_IMPL macro.
Change-Id: Ifc2968ead891c97442cec85076f7824a285f84b8
2019-10-11 01:06:12 +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
a6aad9c918 mdbx: use malloc_usable_size() and analogues.
Change-Id: I35b3fe0f1a1c884ba2013c9a861057b38f6a2174
2019-10-10 22:36:53 +03:00
Leonid Yuriev
e519b8f315 mdbx: fix memleak after write-txn state rework.
Change-Id: I001d1d82c8091de1420617e98820ca7d6b69fe4a
2019-10-10 22:15:47 +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
e5caec031f mdbx: fix warnings from old/obsolete clang (minor).
Change-Id: I4eaaa45bf2ebd68efb572dad04ba025e2608f968
2019-10-10 00:29:43 +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
1573d110f6 mdbx: minor refine mdbx.h
Change-Id: I5fee861582987cc11a648a3365b19c28e493317d
2019-10-09 23:27:16 +03:00
Leonid Yuriev
26641d839b mdbx-build: use optimization for size (i.e. -Os) by default.
Change-Id: I28be71720c12b1b3579febdbbf1189065eb12d0c
2019-10-09 23:27:16 +03:00
Leonid Yuriev
273af26244 mdbx: rework nested transactions and write-transaction state.
This resolves https://github.com/leo-yuriev/libmdbx/issues/62

Change-Id: Icbd762ca69ab1ccf8c3440c71931d2ac14599a1b
2019-10-09 23:27:01 +03:00
Leonid Yuriev
1c9c637701 mdbx: refine internal audit for intermediate state checking.
Change-Id: Iba2b7e5b8df09374c9bf941cc5efa1ed6e826288
2019-10-09 13:37:46 +03:00
Leonid Yuriev
cee1aeaf26 mdbx: fix comment typo.
Change-Id: I2c48e039ee0b135966a66aa2f33ba5c4897a4bc3
2019-10-09 13:37:24 +03:00
Leonid Yuriev
64016c86f6 mdbx: add minor assertions info mdbx_env_walk().
Change-Id: Ibeff6a52088fc858d00b6625a2754aceffb1a382
2019-10-09 13:36:50 +03:00
Leonid Yuriev
6efe0686c9 mdbx: fix Coverity warnings.
Change-Id: I70734c5bf7e3d1088522c0dccd88948865f8192f
2019-10-06 19:05:08 +03:00
Leonid Yuriev
0a5dcdb120 mdbx-dist: fix typo.
Change-Id: I474184db5f68fed83e00c0cd10a4493d6ce0ae93
2019-10-06 18:45:52 +03:00
Leonid Yuriev
ffa8fb1390 mdbx-ci: enable MDBX_DEBUG for Coverity-builds.
Change-Id: I750187782f240136aaf9a36b70606fe68d1331cb
2019-10-06 18:45:52 +03:00
Leonid Yuriev
7d621f6f0a mdbx: auto-define _GNU_SOURCE under control of MDBX_DISABLE_GNU_SOURCE.
Change-Id: I314d88b86517e3c44ad35fe02d3a27cb987c6d60
2019-10-06 18:45:52 +03:00
Leonid Yuriev
3c82ed0323 mdbx-ci: extend travis-ci.org build matrix.
Change-Id: Ia3e10276098e9fdcb877f94ad499f561ee5e98dd
2019-10-06 18:45:52 +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
440bfec193 mdbx: allow 256-byte pages.
Change-Id: I697de67683fb040ea0e360515a5a0839d97e9aa6
2019-10-05 23:36:55 +03:00
Leonid Yuriev
8291de71cb mdbx: support keys and dupsort values upto maxnode (half of a page) size.
Change-Id: I7717d55a0d6a7fdc4dc3caba8f8d3ad46a132f61
2019-10-05 23:36:55 +03:00
Leonid Yuriev
d9e1d7f23a mdbx: fix assertions inside pnl_search().
Change-Id: I735e54823b64a1ca03d7132c9ccc4e443d9b25a5
2019-10-04 18:52:15 +03:00
Leonid Yuriev
aa92d6b7e7 mdbx: add paranoid assertions to qsort and bsearch macros.
Change-Id: I68efcf83576dd01e2f0c37ca8afb30967f5369a9
2019-10-04 18:52: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
529d484884 mdbx: fix audit for retired-pages tracking (minor, i.e. false-negative).
Change-Id: Ied44bc18efec7178ca5cc5f3324cfc75be24125a
2019-10-04 18:52:15 +03:00
Leonid Yuriev
39d43a5b57 mdbx: alter mdbx_cursor_put() paths.
Change-Id: I1836f8237162ffa34ce432038131fb6171fb7104
2019-10-04 18:52:15 +03:00
Leonid Yuriev
9e92ea2372 mdbx: add mdbx_page_check().
Change-Id: I8350d774f841726ca967be732593e33bfa8a6230
2019-10-04 18:52:15 +03:00
Leonid Yuriev
8768641872 mdbx: refine/simplify MDBX_node.
Change-Id: Idb3843727a409c3ef8d1d54e226a6f578a57c32e
2019-10-04 15:59:03 +03:00
Leonid Yuriev
daddd53793 mdbx: refine mdbx_page_copy().
Change-Id: I73ad272b468430e7bf79462750887e75ef71bd60
2019-10-04 15:59:03 +03:00
Leonid Yuriev
bf818ddf1e mdbx: fix assertion inside mdbx_txn_begin().
Change-Id: I0184c094e0f1fdc1a3ed9aede803cbfc2595ff05
2019-10-04 15:59:03 +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
a644c50307 mdbx-ci: enable non-console progress indicator explicitly.
Change-Id: I58c27cc17f1ae11d476e5a338efe7ee515efc389
2019-10-02 12:08:07 +03:00
Leonid Yuriev
632e688202 mdbx-test: rework progess inticator.
Change-Id: Iaf3f7823ab7a0fe9f00607eb803390669c37005f
2019-10-02 02:51:50 +03:00
Leonid Yuriev
315e58578d mdbx: don't log empty file read error upon creation it.
Change-Id: I9cb9f9bee23817331f91ffd0847c599cf1dc0a25
2019-10-02 00:12:04 +03:00
Leonid Yuriev
4d49112a56 mdbx-test: refix logging.
Change-Id: I8852cca84669b4da2a994f2d5d2cec833e21f2f6
2019-10-02 00:12:04 +03:00
Leonid Yuriev
e1e2e2e935 mdbx: provide additional info via mdbx_env_info_ex().
Change-Id: Icfc751da73f090833800ad5429a9b296b4e34700
2019-10-01 17:09:57 +03:00
crypto.sowle
f918d89408 mdbx: English translation for osal.h
Change-Id: Iec7c3334f1866df243e7fcec89858ef37415a4a2
2019-10-01 16:27:38 +03:00
Leonid Yuriev
f0246463c0 mdbx: rework sync_timestamp.
Change-Id: I0e9ef9722735f89055814ba7eec0610ecdea8f0a
2019-10-01 15:01:33 +03:00