2219 Commits

Author SHA1 Message Date
Leonid Yuriev
6248b67f75 mdbx-windows: more for running under Wine.
Wine unable create mapped-view large tran secton size.

More for https://github.com/erthink/libmdbx/issues/83

Change-Id: I93e98d58a827c785f8257cd9cac387a333e59621
2020-02-24 20:46:36 +03:00
Leonid Yuriev
fbf55e17cb mdbx-windows: one more workaround for Wine.
SetFileInformationByHandle() is not implemented by Wine.

Change-Id: I61783c8d173397094cd6cbad7efc9d7aac57b470
002c:Call KERNEL32.SetFileInformationByHandle(00000060,00000006,0022f890,00000008) ret=127dd1b2
002c:fixme:file:SetFileInformationByHandle 0000000000000060, 6, 000000000022F890, 8
002c:Ret  KERNEL32.SetFileInformationByHandle() retval=00000000 ret=127dd1b2

Related to https://github.com/erthink/libmdbx/issues/83
2020-02-22 20:02:17 +03:00
Leonid Yuriev
289f2896d0 mdbx-windows: more for Wine.
Related to https://github.com/erthink/libmdbx/issues/83.

UnlockFile() cold return ERROR_LOCK_VIOLATION when file not locked, instead of ERROR_NOT_LOCKED.
Current versions of Wine seem to work correctly.

Change-Id: Ibc5bd4352184efc7f88705e7ae04d6656286a96e
2020-02-21 19:58:32 +03:00
Leonid Yuriev
4fed2d9fc0 mdbx-windows: minor workaround for MSVC "unresolved external symbol __except1 ..."
Workaround for MSVC error LNK2019: unresolved external symbol __except1 referenced in function __ftol3_except.
2020-02-19 16:31:25 +03:00
Leo Yuriev
9aa816dc73 mdbx-windows: using RegGetValueA() instead of wchar_t version.
Change-Id: I0848eaf2083985ae27fec605358329830b0733c2
2020-02-19 16:00:40 +03:00
Leo Yuriev
f750086bc1 mdbx-windows: rework workaround for Wine.
Resolves https://github.com/erthink/libmdbx/issues/83
in accordance with https://bugs.winehq.org/show_bug.cgi?id=48620

Change-Id: Ieb4385efdcd86c865184a783363cf6e90da14f61
2020-02-18 22:51:34 +03:00
Leonid Yuriev
bd3f234bce mdbx: update github repo address.
Change-Id: Ifa8bf0e09b297ba6f495dd8e04e5c67f6626d9cb
2020-02-18 02:22:47 +03:00
Leonid Yuriev
dbf9873e63 mdbx: clarify "mirroring" note.
Change-Id: Id0b26900828ea081327945fa111cfb1a1dca74b0
2020-02-18 01:42:58 +03:00
Leo Yuriev
4bd194f4c1 mdbx-cmake: fix CMAKE_RANLIB variable name typo.
Change-Id: Iafefa3b921ad356bc87c7c39161e78fd71580fe8
2020-02-17 22:55:36 +03:00
Leo Yuriev
8a6de15346 mdbx-cmake: drop openmp detection and flags.
Change-Id: Iead999c356f683df36183df729dbc0a94e32c420
2020-02-17 22:55:36 +03:00
Leo Yuriev
60a6560a3b mdbx: workaround for NtExtendSection() on Wine.
This fixes https://github.com/erthink/libmdbx/issues/83

Change-Id: I8e00aa91c86348fad9dbe4285143671d9cb3f802
2020-02-17 22:55:17 +03:00
Leo Yuriev
d1173a1596 mdbx: drop unused WindowsNT API prototypes.
Change-Id: Ic929646653d0576671d6150a698e892d2145ae30
2020-02-17 19:44:05 +03:00
Leonid Yuriev
2356f3281b mdbx: use underscores for GNU-attributes.
Change-Id: Iefd371dd91da1db8ee86554208536b3004535317
2020-02-17 14:01:11 +03:00
Leo Yuriev
2db93efb14 mdbx: move internal markdown-required-extension inside README. 2020-02-06 19:46:59 +03:00
Leonid Yuriev
cd0d84dbb6 mdbx: fix error message typo.
Change-Id: I25db309ff4fb063893c7c39d623e62eaceb8b60f
2020-02-03 23:35:43 +03:00
Leonid Yuriev
8214d674be mdbx: refine SEARCH_IMPL macro.
Change-Id: I975e480c047b88e0200aaf889334e8b83ab760ad
2020-02-03 18:13:17 +03:00
Leonid Yuriev
0714c07e28 mdbx: minor clarify MDBX_EKEYMISMATCH description.
Change-Id: I310feb62bc849e01dc3faf0b93a16b654b53d3bd
2020-02-03 17:07:41 +03:00
Leonid Yuriev
62a39d84b3 mdbx: fix aligned_alloc() usage. 2020-02-02 20:49:51 +03:00
Leonid Yuriev
6009bac1ed mdbx: move is_powerof2() and roundup_powerof2() into header. 2020-02-02 20:41:04 +03:00
Leonid Yuriev
e475db7ade mdbx: add MDBX_DBG_LEGACY_OVERLAP.
Change-Id: I7aecb925b553587efd6698dc3d52682ca98aa950
2020-02-02 15:07:04 +03:00
Leonid Yuriev
01f65bc872 mdbx: more info about "one threat - one transaction".
Change-Id: I070750b081e02113577dac13488d01f9d18e759b
2020-02-02 02:46:41 +03:00
Leonid Yuriev
49d9779c84 mdbx: remove obsolete ASAN-related comment.
Corresponding drawback was fixed by 8c7cdfdc79e1ad0a7786d8039a52bffde673f7a5

Change-Id: I43ccf508377dc4b0bf5de6245e88c58dde0fc63e
2020-02-02 02:46:41 +03:00
Leonid Yuriev
a594f79e5f mdbx: refine/clarify error messages.
Change-Id: If2a38bdfb4a9fce176acb87fa452709bcfc5c972
2020-02-02 02:46:41 +03:00
Leonid Yuriev
17fe5f106b mdbx: check read/write txn overlapping for the same thread (MDBX_TXN_OVERLAPPING).
Change-Id: If3488df96bd1903d5e4ca0a1fea504075dbd4a20
2020-02-02 02:46:41 +03:00
Leonid Yuriev
db27654330 mdbx: rename MDBX_LAST_LMDB_ERRCODE and fix description.
Change-Id: I9a855871ae8821d0d10472c48b5467fd507c01a5
2020-02-02 02:46:41 +03:00
Leonid Yuriev
1cbad5bd3f mdbx: don't store thread-id into reader lock-slot in MDBX_NOTLS mode.
Change-Id: I8453565a8c0a7c56b6dbd383c31ff5be828c8679
2020-02-01 23:08:07 +03:00
Leonid Yuriev
08753b46a1 mdbx: cleanup tabs (cosmetics).
Change-Id: If941ea89d844f98f274da4ddfc3f2ae97986eeb7
2020-02-01 20:44:29 +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
fb1d600597 mdbx: speedup debug/checked build.
This resolves https://github.com/leo-yuriev/libmdbx/issues/80

Change-Id: I20596f87db17ce01379dae5f58f4c2b158a04a4a
2020-01-29 03:29:42 +03:00
Leonid Yuriev
c1ad86c368 mdbx: fixes for modern Coverity.
This resolves https://github.com/leo-yuriev/libmdbx/issues/81

Change-Id: Id501bf49055b54240da14723aef0115fc3a27672
2020-01-28 19:37:56 +03:00
Leonid Yuriev
7ea1a4e0e8 mdbx: fix key_from_jsonInteger() for MSVC.
Change-Id: I3fc6a6da57707750cb2e8429bbaf10ff1de2dde2
2020-01-28 01:47:50 +03:00
Leonid Yuriev
2c08ec21fd mdbx: fix compatibility (use zero for invalid DBI).
Change-Id: I4ab6430eb96d97991cbd0c151dfd98a9930805d2
2020-01-27 03:00:13 +03:00
Leonid Yuriev
d159a8252d mdbx: refine network-sorting.
Change-Id: I086626c3da05b11362612d87eae23371f67ea1b0
2020-01-27 00:47:18 +03:00
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
v0.6.0
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