Commit Graph

2441 Commits

Author SHA1 Message Date
Leonid Yuriev
428f753c03 mdbx: add key-to-value functions.
Change-Id: Ie0acd8c58833047931444fd9d94d5b82e6d541bb
2020-06-24 17:15:56 +03:00
Leonid Yuriev
63bf01a60a mdbx-cmake: fix for e2k-lcc 1.24
Change-Id: I5827d4a2526886ae37ad6fe342d5955594081b84
2020-06-22 03:18:54 +03:00
Leonid Yuriev
0fc2d39cce mdbx: allow mixind with/without MDBX_WRITEMAP for the same database.
Change-Id: I916bb9e9b44a58cf78786e76a8c42d62e0bfc579
2020-06-20 23:55: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
cba048ad8a mdbx: minor refine README.
Change-Id: Ib4c20c6b5cadd5e72ae54984909150b4408c68a6
2020-06-20 18:55:21 +03:00
Leonid Yuriev
100832b677 mdbx-make: minor fix for lcc/E2K compiler.
Change-Id: I32018f915e3ef4758cc65bb3c5d73a209a0edb53
2020-06-17 16:17:38 +00:00
Leonid Yuriev
35313d18bc mdbx-posix: refine mdbx_lck_init(), allow multi-opending with MDBX_LOCKING_SYSV. 2020-06-15 12:51:35 +03:00
Leonid Yuriev
0bb950ad55 mdbx: provide ChangeLog.
Change-Id: I1fce6d48c8f5cbef5ecf1e932cbd9c7dff58462d
2020-06-13 03:07:15 +03:00
Leonid Yuriev
4884cd2bcd mdbx: tally revision number since the last release, not from an epoch.
Change-Id: I623b2a57bfe4e1a242d1d68350001ebadef3d634
2020-06-13 03:06:20 +03:00
Leonid Yuriev
cda94ee61d mdbx-cmake: update/sync compiler module (clang LTO, exceptions for MSVC).
Change-Id: Ic132d4cb4095a141436599047b80f8a0b8ac4f6b
2020-06-13 03:06:20 +03:00
Leonid Yuriev
e008f3132d mdbx: support for huge transactions (MDBX_HUGE_TRANSACTIONS option).
Change-Id: I5d6cce6a7fb816add8cb4c066cc50f31cdebf9d5
2020-06-13 03:06:20 +03:00
Leonid Yuriev
fdc92b136f mdbx-cmake: avoid using check_cxx_source_compiles().
More for https://github.com/erthink/libmdbx/issues/111

Change-Id: Icbe1fb3c4ed8e22da7fa7e95d2c8f2c302e77d82
2020-06-12 12:05:27 +03:00
Leonid Yuriev
753cd8fec1 mdbx-cmake: fix using check_cxx_compiler_flag() when C++ compiler don't used/loaded.
Fixes https://github.com/erthink/libmdbx/issues/111

Change-Id: I53cfff2627469e857dcdfc303de4bb1c8ba4e82b
2020-06-12 11:56:38 +03:00
Leonid Yuriev
7ab9d24d3b mdbx: fix env_set_geometry() for opened-env + outside-txn case.
Change-Id: I4526aa8011895ef7b5529995503966117c37e107
2020-06-08 19:12:12 +03:00
Leonid Yuriev
03cc19babb mdbx: preserve error from env_set_geometry() inside setup_dxb().
Change-Id: I8dae0b38eb09cfaa07cdd80cb37dc414e2f99d7a
2020-06-08 19:12:12 +03:00
Leonid Yuriev
0aef609dad mdbx-doc: one more fix about HyperThreading in read-scalability benchmark.
In continue 1c4653d466

Change-Id: I886624359ccd4f5832f82d7aa2fff352962e708d
2020-06-06 16:31:12 +03:00
Leonid Yuriev
0117473cbc mdbx: bump version to 0.8.x
Change-Id: I6d2a1a3b04341461288e18c66d11e79d343750b0
2020-06-05 03:00:43 +03:00
Leonid Yuriev
21fba6577a mdbx-test: fix clang/glibcxx incompatibility.
Change-Id: I59c4f486431126396dc59a84914d78e0eeff1f4c
2020-06-04 19:57:07 +03:00
Leonid Yuriev
0fb2e4e4cc mdbx-ci: engage github-actions to make release-assets.
Resolves https://github.com/erthink/libmdbx/issues/86

Change-Id: I87417c03bf0d657ece47a59aabbd3cb5bfaa81ec
2020-06-04 17:13:42 +03:00
Leonid Yuriev
5c322ed6cf mdbx-make: fix '-std=c++17' typo.
Change-Id: Ibdc888ba4a2b005080ce4ac47a521ea8bcbd9e0a
2020-06-04 16:59:43 +03:00
Leonid Yuriev
f5066996b8 mdbx-doc: clarify mdbx_cursor_put() description.
Fixes https://github.com/erthink/libmdbx/issues/110.

Change-Id: Ieaeae763661d42ac333e2c12cdc141d01e719a54
2020-06-04 13:37:35 +03:00
Leonid Yuriev
44be200e28 mdbx-doc: clarify mdbx_del() and mdbx_cursor_del() description.
Related to https://github.com/erthink/libmdbx/issues/109.

Change-Id: I810597f8a1217db3a16cc7c3de3822218ab7d055
2020-06-04 13:37:30 +03:00
Leonid Yuriev
97b4679ca8 mdbx-doc: clarify MDBX_GET_BOTH_RANGE description.
Related to https://github.com/erthink/libmdbx/issues/109.

Change-Id: Id4026121128699ba8141bed9a7c577ce52635da3
2020-06-04 12:48:20 +03:00
Leonid Yuriev
36dc9e26b6 mdbx: avoid forward-invalidation of DBI-handle when it just closing.
Change-Id: I379f07c2eae9ea68ddf554d10d7d1deed1a00d2b
2020-06-04 12:24:11 +03:00
Leonid Yuriev
0146b3e2c0 mdbx: avoids using pwritev() for single-writes (up to 10% speedup for some kernels & scenarios).
Change-Id: I71fbf0e113b1de4d05b2a43e8532a977c42b8f91
2020-05-29 18:39:43 +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
a159ae4b06 mdbx-tools: fix using ENODATA for FreeBSD.
Change-Id: I3092e79116de96aa5e12e61e0963dc7545a1cf1b
2020-05-27 23:16:12 +03:00
Leonid Yuriev
9f6a3ea9a2 mdbx-ci: add Cirrus-CI config for FreeBSD.
Change-Id: I06da6f6ab32eeb076db7ae689a099dbc3defd18b
2020-05-27 23:15:51 +03:00
Leonid Yuriev
ea353471d5 mdbx: fix minor typo.
Change-Id: I02ab17d1867e8b1a0b9ef971c9922688eca9dc7c
2020-05-27 21:48:14 +03:00
Leonid Yuriev
1f301e7e6f mdbx: explicit sync lck-file after re-write/re-create.
Change-Id: I2fad76b1d04e4b0cd2ca08cb722bd819153f9824
2020-05-27 21:48:14 +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
5cc1cb3f87 mdbx: add mdbx_dbi_dupsort_depthmask().
Change-Id: Ib056663f26baea517d6f2b9d58cd64c643619ef9
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
51a016245a mdbx: using couple of condvars/events to avoid glitches on Windows.
Change-Id: I3256a8dcbb95c78e8dea3eb31ca73f42c58d2f61
2020-05-24 13:29:55 +03:00
Leonid Yuriev
a2bdbc97dc mdbx: truncate clk-file when DB closed in sync-state.
Change-Id: I2e2438606118e3aa3fa9d60811fea99994403d32
2020-05-23 01:34:52 +03:00
Leonid Yuriev
86a4085bf9 mdbx-windows: minor cleanup lck_downgrade().
Change-Id: I7f36baefe3e3d76083171ae0c0f97d21ad1e877a
2020-05-23 01:34:52 +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
d1d65f8090 mdbx: removes wrong condition from the assertion.
Fixes https://github.com/erthink/libmdbx/issues/105

I decided to remove the extra check, since a sub-cursor cannot return data
and there is no point in adding assignments just for this check.

Change-Id: I6a983930abb37b8f6ab768602763495572adf7fd
2020-05-22 22:12:08 +03:00