Leonid Yuriev
3ed99f8c20
mdbx: minor refine/fix cursor_check()
internals.
...
Change-Id: I89ea9a5336b88e7d0201a7f59d66a8bc53849172
2021-03-28 23:34:41 +03:00
Leonid Yuriev
636c212235
mdbx: minor refine page_check()
.
...
Change-Id: I91cae256c47064422d26663078c8c5a6f619a197
2021-03-28 23:34:41 +03:00
Leonid Yuriev
83cd4f7d58
mdbx: separete DKBUF
and DKBUF_DEBUG
.
...
Change-Id: I8d90909ce9c5faec176a12e68f7bab6c2ea1d317
2021-03-28 23:34:41 +03:00
Leonid Yuriev
bfc9921305
mdbx: change branch-node size to ~1/2 of the page size.
...
Change-Id: I0f455ec04170d792ecc933aa501b4ec1ca9b08c0
2021-03-28 23:34:41 +03:00
Leonid Yuriev
72f3a2fc3f
mdbx: check zero-size of the first key on a branch-page.
...
Change-Id: I2be86ea79f04ea8baea92a6e56ef6b22691eeda0
2021-03-28 22:25:40 +03:00
Leonid Yuriev
3c389d17e8
mdbx: minor refine page_rebalance()
.
...
Change-Id: I066e7a22d62c45f9e80fb4735f55f02ca34d3ee3
2021-03-28 22:25:30 +03:00
Leonid Yuriev
2524a0e749
mdbx: output page type from bad_page()
.
...
Change-Id: I11e4931de26015204c26c116e91e4a0e02f909b4
2021-03-28 22:25:24 +03:00
Leonid Yuriev
8d3b878965
mdbx: fix minor spelling.
...
Change-Id: Ibab66dc18c92b0ac4fa705e10befb34e268ee1f7
2021-03-28 22:25:17 +03:00
Leonid Yuriev
9e5fe2c61d
mdbx-tools: add to mdbx_chk
output the number of keys/entries from a pages.
...
Change-Id: I7c2d779fa89848287f8b5a0fa1ff2fc89c5a9b8c
2021-03-28 22:24:56 +03:00
Leonid Yuriev
c77494e2aa
mdbx: fix mdbx_env_set_option()
for dp_initial & dp_limit.
...
Fixes https://github.com/erthink/libmdbx/issues/179
Change-Id: I925104a45148112e0ce94a069a7468e2b4fc8209
2021-03-24 19:27:31 +03:00
Leonid Yuriev
422d030820
mdbx: fix minor casting warning.
...
Change-Id: I9615b3928bb1b88743b42be9d82a986255d1f074
2021-03-19 03:16:47 +03:00
Leonid Yuriev
b3798a9116
mdbx: mdbx_node_search()
micro-optimization.
...
Change-Id: I48064ca284aa89b16e418afdc20d09c5dd6e5cba
2021-03-19 00:17:14 +03:00
Leonid Yuriev
cb0ee2373d
mdbx: add mdbx_cursor_set_ex()
with non-optional exactp
argument.
...
Resolves https://github.com/erthink/libmdbx/pull/178
Change-Id: I24dc7d44116b5e2e02b5b75375be24c647a762f5
2021-03-18 23:15:55 +03:00
Leonid Yuriev
d0b3c45f04
mdbx: refine check_dbi()
.
...
Change-Id: I6d51c27c3acdea1b93861f67a32cd3c1ee13dc0d
2021-03-18 23:12:56 +03:00
Leonid Yuriev
6c9e8817b7
mdbx-posix: use MAP_NORESERVE
.
...
Change-Id: I6a46a5bfa5ed3fa5c3f26775fcba346f71106ad1
2021-03-17 01:27:23 +03:00
Leonid Yuriev
0be7616521
mdbx-posix: minor around MAP_FIXED_NOREPLACE
.
...
Change-Id: I0991a5ed1e1706442675d9514932fad30de372f8
2021-03-17 01:27:23 +03:00
Leonid Yuriev
0fd90de97e
mdbx-posix: add check for _POSIX_MAPPED_FILES
.
...
Change-Id: Ie7ee8464346cd57d8cd96b6c5df23da8ed37cbbb
2021-03-17 01:27:19 +03:00
Leonid Yuriev
7dfd3f18f8
mdbx: rework nodes/keys limitations.
...
Change-Id: Id0515346d762d4554102775f26a0fc33f3c0f29e
2021-03-17 01:18:28 +03:00
Leonid Yuriev
b164baa1f5
mdbx: add MDBX_ENABLE_MADVISE
build option/macro.
...
Change-Id: I6174ec62e4811e891663b8ae0f7918aa09baf5ab
2021-03-17 01:18:18 +03:00
Leonid Yuriev
bd2c3d1c9c
mdbx-tools: minor refine/cleanup.
...
Change-Id: I94974246c1212cf98bf3d31419e8a0fc24c5decc
2021-03-15 01:31:38 +03:00
Leonid Yuriev
3eb343020d
mdbx: simplify check_txn_rw()
.
...
Change-Id: Id6a24068ffcdd29fe15a888985bd4a17f1de8ab4
2021-03-14 16:33:06 +03:00
Leonid Yuriev
4b8b7d5a77
mdbx: refine mdbx_env_set_geometry()
internals and 16-bit representation of grow/shrink values.
...
More for https://github.com/erthink/libmdbx/issues/166 .
Change-Id: I7390f954819309ee4a01faf587aee6b5152e44bc
2021-03-14 03:42:52 +03:00
Leonid Yuriev
55620c1d13
mdbx: fix selecting/adjustment values inside mdbx_env_set_geometry()
for implicit out-of-range cases.
...
Fixes https://github.com/erthink/libmdbx/issues/170 .
Change-Id: Ibc8754811aa3d9077447220f9fec7a5543e40cc4
2021-03-13 19:55:19 +03:00
Leonid Yuriev
439cccf65f
mdbx: minor fix assertion in the prev commit.
...
One more for https://github.com/erthink/libmdbx/issues/171 .
Change-Id: I49be3df948f3dbcc838f3dc307155ac404cfb331
2021-03-13 19:40:18 +03:00
Leonid Yuriev
f7cd08ea48
mdbx: add an explicit/strict check that the environment is open.
...
More for https://github.com/erthink/libmdbx/issues/171 .
Change-Id: Ifbf7f8ba143d19162bd3ed1cf29c21c31b45f0d5
2021-03-13 18:31:45 +03:00
Leonid Yuriev
e43cf081f1
mdbx: fix mdbx_env_info_ex()
for a non-open environment case.
...
Fix the https://github.com/erthink/libmdbx/issues/171 .
Change-Id: Iad3d0186ef40dfd40fad1c3ae0dd97f9c1161c16
2021-03-13 17:15:17 +03:00
Leonid Yuriev
a96b6f79c6
mdbx: fix/disallowing implicit subDB deletion via operations on MAIN_DBI.
...
Change-Id: I3cd786e877f42cef2c0d5556033b2633f8a8ce62
2021-03-13 17:11:35 +03:00
Leonid Yuriev
93f0f21a4c
mdbx-tools: minor speedup mdbx_load
by adding __hot/__inline
for internal functions.
...
Change-Id: Iee7d2562dbe184475f01ab9a7f9aae11549d7294
2021-03-13 15:48:31 +03:00
Leonid Yuriev
8b5197b108
mdbx-tools: minor rearrange internal fields inside mdbx_load
to avoid padding.
...
Change-Id: Ieca06e0c031938b083fd12959812afa1bbc9e2de
2021-03-13 15:47:59 +03:00
Leonid Yuriev
0603dd8305
mdbx-tools: more for quiet
mode inside mdbx_load
.
...
Change-Id: I31839d530b94516c9819e6600fd808a3c97c609a
2021-03-13 15:47:19 +03:00
Leonid Yuriev
f01e0efc2d
mdbx-tools: add mdbx_drop
tool.
...
Change-Id: Ib7b32668c13fcef5951ff7250df57b3263e14d69
2021-03-13 15:45:15 +03:00
Leonid Yuriev
fd021d793a
mdbx: fix MSVC warning.
...
More for https://github.com/erthink/libmdbx/issues/166
Change-Id: I47a2ec72831c06695e7ef4c52a77039e52a718e2
2021-03-09 12:59:54 +03:00
Leonid Yuriev
cd90f831af
mdbx: refine db growth step default.
...
Change-Id: Ief80441cb578ae37d5d7cee4766e57eaacb4bbde
2021-03-09 12:59:27 +03:00
Leonid Yuriev
8e51a10908
mdbx: packing the 16-bit representations of grow step
and shrink threshold
values.
...
Using float point (exponential quantized) representation for internal 16-bit values
of grow step and shrink threshold when huge ones
.
To minimize the impact on compatibility, only the odd values inside the upper half
of the range (i.e. 32769..65533) are used for the new representation.
Resolve https://github.com/erthink/libmdbx/issues/166
Change-Id: I273127c1842deef0d7d8885b55a805b1463556eb
2021-03-09 12:54:48 +03:00
Leonid Yuriev
ec95a50bb6
mdbx: fix not setting the dirty flag for @MAIN when dropping DBI.
...
This fixes https://github.com/erthink/libmdbx/issues/168
Change-Id: Ida9f11fbcea092af17946b95bfe4ac58b822a80c
2021-03-06 20:40:15 +03:00
Leonid Yuriev
b0d449565d
mdbx: shrink dbi table immediately in the mdbx_dbi_close_locked()
.
...
Change-Id: Idaa5ec9791b5ffa4305e7f9f7a625fba5f956dd9
2021-03-05 03:20:21 +03:00
Leonid Yuriev
de13d6c823
mdbx: merge branch 'master' into devel.
...
Change-Id: Icec2e7548923ef7b3e33bf50fc20842938d5eec5
2021-03-04 19:23:09 +03:00
Erk
b2a0279253
Fix compilation on build targets listed below MIPS
2021-03-04 10:33:12 +01:00
Leonid Yuriev
dec11e639a
mdbx: fix mdbx_dpl_alloc()
.
...
Change-Id: Ia7d4b1866ca3623668edffd56ab83e845f16b2a5
2021-03-03 16:24:32 +03:00
Leonid Yuriev
0cebc50291
mdbx: refine page-rebalance.
...
Change-Id: Ia94379fa51eb5da1e1ec1a52cc1dd8b67ceb150a
2021-03-03 16:05:52 +03:00
Leonid Yuriev
46dcd6e7ca
mdbx: (re)alloc dpl-list at txn start.
...
Change-Id: Ie35221666f09a189f5513e77d3ecb4056968334f
2021-03-02 03:58:27 +03:00
Leonid Yuriev
8cabd99d24
mdbx: merge branch 'devel'.
...
Change-Id: I2593f0229694d0bdd310975887e31651ead6dcc0
2021-03-02 02:12:10 +03:00
Leonid Yuriev
c4b24b6a4d
mdbx-tools: minor fix a condition for details output about leaf pages.
...
Thanks to Alexander Gavrilov (https://github.com/dartraiden ) for the hint.
Change-Id: I2a674b7d23310f8c776eef551353f79dfca7a3d8
2021-03-01 23:09:18 +03:00
Leonid Yuriev
c8dccc9bc4
mdbx: limits the initial size of dpl-list to the current db-size.
...
Change-Id: I5f575fc6168f50786b6f8a82ae020d323530a12e
2021-02-28 01:02:16 +03:00
Leonid Yuriev
72d978ee48
mdbx: weakens checks during set the MDBX_opt_txn_dp_limit
to avoid MDBX_EINVAL
.
...
Change-Id: I4852261d0c45b726c60792463ab698538fa447e5
2021-02-28 01:02:16 +03:00
Leonid Yuriev
7fcf11013e
mdbx: minor fix likely/unlikely inside mdbx_cursor_del()
.
...
Change-Id: I86cfc755eef7371ea96c0feb39bffd3ec5298b71
2021-02-28 01:02:16 +03:00
Leonid Yuriev
3fd739ea2c
mdbx: add MDBX_DISABLE_PAGECHECKS
build option.
...
Change-Id: Ia5e2727b74961e7f829f273225c5c1a6cc764b8e
2021-02-07 02:53:54 +03:00
Leonid Yuriev
c89f30e485
mdbx: fix/rework C11 atomics usage to avoid performance regression.
...
Resolve https://github.com/erthink/libmdbx/issues/160
Change-Id: Ic14ef8c9f1e4fb844952f51e81b58268d7939cfe
2021-02-06 21:16:56 +03:00
Leonid Yuriev
7e7d526ed5
mdbx: minor fix txn_spill()
.
...
Change-Id: Ic624681d3a9e262b77f761796aabf0231019db72
2021-02-06 19:34:26 +03:00
Leonid Yuriev
0e8c913c57
mdbx: minor refine node_search()
.
...
Change-Id: Ib9aaca3e7853b9986b6d70bc43a88e90d0a46c0c
2021-02-06 19:33:07 +03:00