Leonid Yuriev
308548e226
mdbx: minor refine/speedup mdbx_page_get().
...
Change-Id: Ia11a76f0255db1a56948438cdc333ebd67d88193
2020-01-26 19:07:00 +03:00
Leonid Yuriev
a8c5daf46a
mdbx: minor refine/speedup mdbx_node_search().
...
Change-Id: Ie3dd42de25e37bff177018cd15108b97cfcb049c
2020-01-26 18:00:35 +03:00
Leonid Yuriev
898b6ee433
mdbx: fix mdbx_env_copy() argument description.
...
This resolves https://github.com/leo-yuriev/libmdbx/issues/78
Change-Id: I4d92f3939f617ffd11941793e819a0513649fed8
2020-01-26 15:27:30 +03:00
Leonid Yuriev
2ce9ace4d3
mdbx: documenting and checking key and value alignment for MDBX_INTEGERKEY and MDBX_INTEGERDUP.
...
This resolves https://github.com/leo-yuriev/libmdbx/issues/79 .
Change-Id: I819a6eca3018361e5896d5ccce7e4c0ca57c8b38
2020-01-26 14:54:40 +03:00
Leonid Yuriev
1ee1b269e6
mdbx: minor optimization around memcpy().
...
Change-Id: Id0dd4ac693a4ddb6294bdb0f2fc5d2aec69d0efd
2020-01-26 14:44:50 +03:00
Leonid Yuriev
ebcbcbfe31
mdbx: avoud int64-to-double conversion key_from_jsonInteger().
...
More for https://github.com/leo-yuriev/libmdbx/issues/76
This is expected to be a workaround for the MSVC2019 bug
"MSVCRT.lib(ftol3.obj) : error LNK2001: unresolved external symbol __except1".
https://ci.appveyor.com/project/leo-yuriev/libmdbx/builds/30273569/job/lurrftum1nkbu5a3#L109
Change-Id: Ie6da02b14d0b973c7172af063caf4fdc44bf89ac
2020-01-22 19:41:01 +03:00
Leonid Yuriev
b77f4faadd
mdbx: fix major typo in prev commit.
...
More for https://github.com/leo-yuriev/libmdbx/issues/76
Change-Id: I9a3d1adf1467a542b36330978d53cc15f4afbbdb
2020-01-22 03:51:12 +03:00
Leonid Yuriev
bf28856ac5
mdbx: add key-making functions.
...
Related to https://github.com/leo-yuriev/libmdbx/issues/76
Change-Id: I1edc8efd323af9adb53e6c2155e2ea39a1e575f4
2020-01-22 03:43:09 +03:00
Leonid Yuriev
700f3514b3
mdbx: bump version to 0.6.x
...
Change-Id: I925ab0aaefb1a8f9860925c2e8e7c81015428b2e
2020-01-21 00:17:55 +03:00
Leonid Yuriev
2d334185cb
mdbx-tools: rework/fix mdbx_load for custom comparators.
...
Change-Id: I9bc15fb878d1586839768f97567806208bfcc5b8
2020-01-21 00:17:55 +03:00
Leonid Yuriev
2c1d3a3fda
mdbx: refine dbi_open_ex().
...
Change-Id: I32bc1c6609e14ba90b2f4eaf9b8b11ea06f2eb8b
2020-01-21 00:17:55 +03:00
Leonid Yuriev
7d880a37dd
mdbx: refine internal sort.
...
Change-Id: If07d9f6b7a7976e5e048eb1b8b7e0b65c4ed3fdd
2020-01-21 00:17:55 +03:00
Leonid Yuriev
d12b546a7d
mdbx: fix MDBX_APPEND check inside cursor_put().
...
Change-Id: If21dedbd72b3a038252b9dc10c5c6543328362e7
2020-01-21 00:17:55 +03:00
Leonid Yuriev
6184024a80
mdbx: more __has_builtin().
...
Change-Id: Ie23e170e12d96ad47bf2f25c7dde974673109b54
2020-01-21 00:17:55 +03:00
Leonid Yuriev
2bfcbe980e
mdbx: refine/fix dbi_bind().
...
Change-Id: Ic4245c349870198f79efd537cf12d9bdf691b7ca
2020-01-21 00:17:55 +03:00
Leonid Yuriev
0710b07d7c
mdbx: refine/speedup dpl_search().
...
Change-Id: I712e22ea69f23f61c92be976069f09a85831d086
2020-01-21 00:17:55 +03:00
Leonid Yuriev
7c894f0542
mdbx: HNY!
...
Change-Id: Idbd21263408f87ac2715675c9f7ccc6c44d41c9a
2020-01-21 00:17:55 +03:00
Leonid Yuriev
c05875befd
mdbx: refine/speedup internal sort (10-30% faster).
...
- more friendly for Russian Elbrus's predicates (512-bit wide VLIW).
- more CMOV-friendly for x86 (nicely optimized by gcc-9.x and clang-8.x).
- use bitonic sort for small chunks.
- less branches in the outer loop.
Change-Id: I0510f5a0b2c39a19caa9e829a20e34dfbd160a01
2020-01-21 00:17:54 +03:00
Leonid Yuriev
20b09820c9
mdbx: minor update README.
...
Change-Id: I15edbc2572a57e80634347b272d354cda6cc13c4
2020-01-15 21:05:02 +03:00
Leonid Yuriev
1c4653d466
mdbx: update README (note about HyperThreading in read-scalability benchmark).
...
Change-Id: I03e49a9675ecf585a8e2df56cca9949dd9b5bccb
2020-01-09 19:10:35 +03:00
Leonid Yuriev
8cd7cfc65d
mdbx-test: refine jitter
testcase.
...
Change-Id: If1a3774da2b8b29249d81a54799117646820c036
2020-01-06 01:42:31 +03:00
Leonid Yuriev
995a26cf19
mdbx-windws: refine/fix handling STATUS_CONFLICTING_ADDRESSES.
...
Change-Id: I501acb2d5d653c74ab210907dd955d7167956af8
2020-01-06 01:23:11 +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
297fe3885c
mdbx: update README.
...
Change-Id: Ied776d508485f8cb1165a6fb98220672518b1e01
2020-01-05 00:49:16 +03:00
Leonid Yuriev
cda829b327
mdbx-tests: fix built-in help.
...
Change-Id: Ia4073e6394b48ceef7b032bd023d4d409efc7667
2020-01-05 00:49:16 +03:00
Leonid Yuriev
f282ae45e0
mdbx: more unlikely (minor).
...
Change-Id: I9052d89d4b297615af199a0e2f468cda1482297a
2020-01-05 00:49:16 +03:00
Leonid Yuriev
9de65acf3e
mdbx: fix env_set_geometry() for large pagesize.
...
Change-Id: Ide12e705abf76184f839d1670b0ca1c1e1c64da5
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
f3a95fe26b
mdbx: minor refine API description.
...
Change-Id: If5615ebff66fe6928d24d22e1300fdf59361527d
2020-01-05 00:34:31 +03:00
Leonid Yuriev
0a487d0b9e
mdbx: bump version to 0.5
...
Change-Id: Id2c82b5cbe567cffe193b86ecf13af93e58363c1
2019-12-31 20:59:13 +03:00
Leonid Yuriev
6fa79d49b4
mdbx: fix MDBX_RESULT_TRUE from page_alloc().
...
Change-Id: Ib285e98f967b9aefac8facfba31618a80c5e8129
2019-12-31 20:44:40 +03:00
Leonid Yuriev
66f3c0a77e
mdbx: merge branch 'refine' into devel.
...
Change-Id: I3f6a787c66b4e7fca3c43d72e4b4083782cc94c4
2019-12-31 19:39:22 +03:00
Leonid Yuriev
5eafc6e738
mdbx: minor refine txn_commit().
...
Re-assign `rc` variable to release register from allocation.
Change-Id: Ibafd70efd53591d3bf190417e1b2f3b20299e7d2
2019-12-31 19:38:41 +03:00
Leonid Yuriev
7d1eff5116
mdbx: minor refine cursor_put().
...
Use `rc2` variable to simplify register(s) allocation.
Change-Id: Ie47210a4b494e9aeaa8492830cfbcbbde02b485c
2019-12-31 19:38:41 +03:00
Leonid Yuriev
36c7d7a435
mdbx: minor refine page_alloc (MIN_TXNID).
...
Change-Id: Iac20f79280e5b464b39f7ac5b1efe01585c5bf02
2019-12-31 19:38:41 +03:00
Leonid Yuriev
03a68e87ba
mdbx: fix commit typo (minor).
...
Change-Id: I3e6564eb9a1404c3aaffb7dd9143dc64e7d822af
2019-12-31 19:38:41 +03:00
Leonid Yuriev
8c7cdfdc79
mdbx: fix ASAN issues (minor).
...
This resolves https://github.com/leo-yuriev/libmdbx/issues/73
Change-Id: Ifb59f5ba66321bb362b81085e0f25a82a2d76d5f
2019-12-29 01:19:31 +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
c7ae4ace9d
mdbx: fix assertion for MDBX_NOTLS option.
...
This fixes https://github.com/leo-yuriev/libmdbx/issues/72
Change-Id: I9e2b02e33e7e702eb093c0c1049c54b76d8d23b5
2019-12-28 02:17:38 +03:00
Leonid Yuriev
7b6880bdc9
mdbx-windows: treat STATUS_INVALID_ADDRESS same as STATUS_CONFLICTING_ADDRESSES for some cases.
...
Change-Id: I542c7f4010f880428e3c7b10413e4f98c4aa7b48
2019-12-25 00:46:01 +03:00
Leonid Yuriev
379a789839
mdbx: minor refine MDBX_MMAP_INCOHERENT_FILE_WRITE.
...
Change-Id: I1e77eccc64b470bf3c7aeb8f6b905b72e818f7a0
2019-12-25 00:46:01 +03:00
Leonid Yuriev
bdb4ccb352
mdbx: copy for txn only used dbiseqs.
...
Change-Id: I6fd2d8598b5e86c0d5b8d7eef535e81525cd14ee
2019-12-25 00:46:01 +03:00
Leonid Yuriev
53d5cb0151
mdbx: rework MADV_DONTNEED threshold.
...
Change-Id: I99058b96e9c54c56d37c6c963b01cf18458d37ba
2019-12-24 18:16:04 +03:00
Leonid Yuriev
f2fd2280e4
mdbx: more for QEMU cross-testing.
...
Change-Id: Iad5e7f977c744b2edf1987d38523ba0e1f6e46ab
2019-12-23 00:02:54 +03:00
Leonid Yuriev
2acaaeb2ff
mdbx-chk: fix - don't check some numbers if btree-walking was disabled.
...
Change-Id: I3e1abb7fa7720ecb3fc22e6b4a9b1b56494fb8a0
2019-12-22 14:01:50 +03:00
Leonid Yuriev
a5fb5887f9
mdbx: minor refine/fix lock-related erro logging.
...
Change-Id: Id507819b6b2b0c1a57ec71bd031c5068cb2098e1
2019-12-21 23:33:12 +03:00
Leonid Yuriev
e3d328621e
mdbx-posix: checking for file removal during LCK-seizing.
...
Change-Id: I7626ceda62fc4dac86323bec4194ae46bc19d9d3
2019-12-21 23:33:12 +03:00
Leonid Yuriev
ccb45730f2
mdbx: use page's mp_txnid for basic integrity checking.
...
Change-Id: I50d6f1251e4fd84e535a708e78dd24d84ec53780
2019-12-21 23:33:12 +03:00
Leonid Yuriev
d11bfef36b
mdbx: aligned page-buffer.
...
Change-Id: Id469c353c47a5a486747bf2c21ee8c003cd2d103
2019-12-21 23:33:12 +03:00
Leonid Yuriev
e70a7f620e
mdbx: clarify field description (minor).
...
Change-Id: Ide20e32b4ee6784a7baf2044f52877afbd9ceff1
2019-12-21 23:33:12 +03:00