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
|
971f924c44
|
mdbx-build: rearrange source files, rework CMakeLists.txt and refine GNUMakefile (squashed).
Change-Id: Id73d346695011dab2f670bb9e6293a1e5a1835ca
|
2020-04-17 00:37:57 +03:00 |
|
Leonid Yuriev
|
f81374a9ce
|
mdbx-build: amalgamation.
Change-Id: Ic32de6ee119df2bc12136b882f4f7cabaa1314a9
|
2019-09-03 02:30:55 +03:00 |
|
Leonid Yuriev
|
327e5feb97
|
mdbx-windows: one more fix build for Windows/SDK pair.
Change-Id: Ifa480703b153625d0fa96a15d70bd0c452352cb6
|
2019-08-29 23:48:51 +03:00 |
|
Leonid Yuriev
|
137d652d77
|
mdbx: refine attribute-based macros.
|
2019-08-25 04:37:15 +03:00 |
|
Leonid Yuriev
|
7780b76cf0
|
mdbx: fix internal typo.
Change-Id: Ib31e8f02d816758a66b5e6b260714e25648f66c2
|
2019-08-25 04:36:30 +03:00 |
|
Leonid Yuriev
|
93f82f47bd
|
mdbx: refine setup_debug(), add MDBX_DBG_LEGACY_MULTIOPEN.
Change-Id: I5d144f6fa27b8f5885fa0a0fbd11fe1d44bcc41c
|
2019-08-25 04:36:28 +03:00 |
|
Leonid Yuriev
|
4ceaf842fe
|
mdbx: add timed auto-sync feature.
Change-Id: Ia9b8529fda321d5f78b306f270d157a78f708916
|
2019-08-23 13:13:20 +03:00 |
|
Leonid Yuriev
|
e04bfc05fa
|
mdbx: rename MDBX_OSX_SPEED_INSTEADOF_DURABILITY option.
Change-Id: I1d0a05880507da0781ccd2bff5fa68610ad884a9
|
2019-08-20 15:04:52 +03:00 |
|
Leonid Yuriev
|
6f0a11f155
|
mdbx: merge branch 'osx-try'.
This resolves https://github.com/leo-yuriev/libmdbx/issues/49.
Change-Id: Ib20c3898e99ca229f10e7d41cda3989b8b4a832c
|
2019-08-20 03:18:31 +03:00 |
|
Leonid Yuriev
|
657d37c9e3
|
mdbx: add MDBX_OSX_SPEED_OR_DURABILITY build-time #define for MacOS.
|
2019-08-20 02:48:30 +03:00 |
|
Leonid Yuriev
|
ccbf3a2bcf
|
mdbx: rework mdbx_filesync().
|
2019-08-20 00:56:06 +03:00 |
|
Leonid Yuriev
|
261f697d8c
|
mdbx: skip msync(MS_ASYNC) on Linux > 2.6.19.
Change-Id: Ic1f631ef856a09cf62353c2b0092b0341ecf4fa2
|
2019-08-19 21:31:23 +03:00 |
|
Leonid Yuriev
|
226cb3ac90
|
mdbx: use F_FULLFSYNC on MacOS.
|
2019-08-19 20:41:02 +03:00 |
|
Leonid Yuriev
|
91088af935
|
mdbx: initial OSX support.
|
2019-08-13 02:10:03 +03:00 |
|
Leonid Yuriev
|
bf0e0382fc
|
mdbx: use O_DIRECT for db-copy.
Change-Id: Ib17fcdc2eba3382ed841a1e5e0a4f69f88c2491d
|
2019-08-11 01:14:52 +03:00 |
|
Leonid Yuriev
|
41f00485fd
|
mdbx: portability - allows operation without mremap().
Change-Id: I7fed42d51259e582e9dbc401c78f7f829a80f71c
|
2019-07-14 15:11:59 +03:00 |
|
Leonid Yuriev
|
097b274aa4
|
mdbx: portability - use C11 aligned_alloc().
Change-Id: I61819614ce355c8a2597c9b26997458b3d16081c
|
2019-07-14 15:07:54 +03:00 |
|
Leonid Yuriev
|
8f7ea1844b
|
mddx: portability - compatibility with BSD-style __assert().
Change-Id: Ic18f2de8a23597c62fab07041aeb62960e82c37a
|
2019-07-14 15:07:47 +03:00 |
|
Leonid Yuriev
|
6960c45e59
|
mdbx: avoids EFAULT "Bad address" while copy-as-is if DB is swapped-out from RAM.
Change-Id: I711efc1c54a04745bd561bc5e1db5e6f6d8b7115
|
2019-07-01 17:55:58 +03:00 |
|
Leonid Yuriev
|
38110579ba
|
mdbx: drops mdbx_write(), using mdbx_pwrite() instead of.
Change-Id: Iff3de2d5ef3fa2e92607d46b96d4526e464e593b
|
2019-07-01 16:39:18 +03:00 |
|
Leonid Yuriev
|
5b88fe819c
|
mdbx: fix pwrite() for WRITE_MAX.
Change-Id: If4924d20c1e267c2d3a190c860b89fc2fda0d517
|
2019-06-24 02:14:50 +03:00 |
|
Leo Yuriev
|
7d383350e8
|
mdbx: workaround for musl-libc __assert_fail() prototype bug.
|
2019-03-04 14:41:50 +03:00 |
|
Leo Yuriev
|
9ffd17d58b
|
mdbx: refine mdbx_filesync() to avoid hide fdatasync() error.
|
2019-03-04 13:53:05 +03:00 |
|
Leo Yuriev
|
9f410597df
|
mdbx: checking only _POSIX_SYNCHRONIZED_IO for fdatasync (musl).
|
2019-03-04 13:39:33 +03:00 |
|
Leo Yuriev
|
cca2c91058
|
mdbx: don't check __GLIBC_PREREQ/_BSD_SOURCE/_XOPEN_SOURCE for use fsync (musl).
|
2019-03-04 13:34:38 +03:00 |
|
Leo Yuriev
|
9cc9116df3
|
mdbx: 2019 HNY.
Change-Id: Iec6b7affedef0ea89fad917eb17af7e8201a7482
|
2019-02-03 12:28:01 +03:00 |
|
Leonid Yuriev
|
624968b74c
|
mdbx-windows: use SetFileInformationByHandle() when available.
Change-Id: I27d9d4271d4328947ad68cdf30af61a31978b4f9
|
2018-12-28 13:53:57 +03:00 |
|
Leonid Yuriev
|
629637d95e
|
mdbx-osal: add mdbx_fseek().
Change-Id: I5744aa3ba51bd1acaeedd866e6b21a1330c3f711
|
2018-11-04 20:34:16 +03:00 |
|
Leonid Yuriev
|
5400ef6512
|
mdbx-windows: fix mdbx_assert_fail().
|
2018-10-21 20:27:49 +03:00 |
|
Leonid Yuriev
|
718f997502
|
mdbx-windows: workaround for Windows10 bugs.
This resolves https://github.com/leo-yuriev/libmdbx/issues/47
|
2018-10-21 20:27:49 +03:00 |
|
Leonid Yuriev
|
ecf214ca04
|
mdbx-windows: add MDBX_AVOID_CRT.
Change-Id: I08233d777b318037372ec250c754f093b3047c94
|
2018-10-19 15:16:33 +03:00 |
|
Leonid Yuriev
|
96491db229
|
mdbx-windows: building and linking mdbx_ntdll_extra.lib
15 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I6241d08f14dcd59c6c55aa26660bdec233fb3c94
|
2018-10-14 15:03:17 +03:00 |
|
Leonid Yuriev
|
cad9cea33b
|
mdbx-windows: use _wcsnicmp() instead of wcsnicmp() to avoid dependency from CRT.
13 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I880433ddaf364a7e2b5de104ccf8689b93754ec5
|
2018-10-14 15:00:43 +03:00 |
|
Leonid Yuriev
|
e229dbe9dc
|
mdbx-windows: add mdbx_strdup() to avoid dependency from CRT.
12 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ib1379d75dc25e34f56daf8988848c41f59b6cd6b
|
2018-10-14 15:00:16 +03:00 |
|
Leonid Yuriev
|
b47badb3ee
|
mdbx-windows: rework mdbx_memalign_alloc()/mdbx_memalign_free() to avoid dependency from CRT.
11 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Id1a76f88588251cab9a93aa9753021b30159b09a
|
2018-10-14 14:59:37 +03:00 |
|
Leonid Yuriev
|
f49741b4f8
|
mdbx-windows: refine mdbx_vasprintf() to avoid dependency from CRT.
10 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I95c4583c27503eb4e9221b212b34474dfb561e6d
|
2018-10-14 14:59:09 +03:00 |
|
Leonid Yuriev
|
ded5269937
|
mdbx-windows: rework mdbx_assert_fail() and mdbx_panic() to avoid dependency from CRT.
7 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: I40dc8d6a7d1d955c13c7d328ee904f0e6f30b248
|
2018-10-14 14:57:03 +03:00 |
|
Leonid Yuriev
|
ae2875e248
|
mdbx: avoid on-stack allocation/chkstk inside mdbx_check4nonlocal().
6 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ib55a27c4859ff25e5b779a4514cd2e625ab99013
|
2018-10-14 14:56:32 +03:00 |
|
Leonid Yuriev
|
ace3d1bfa3
|
mdbx: add mdbx_malloc/mdbx_free, etc.
1 of 17 for https://github.com/leo-yuriev/libmdbx/issues/43
Change-Id: Ia5204be9f943fefde42e6a46e652c1be6ab6a96b
|
2018-10-14 14:53:40 +03:00 |
|
Leonid Yuriev
|
c9e3dc373b
|
mdbx-windows: more for WindowsXP support.
Change-Id: Ide34048720989fc010f48e086569e12e8c1edca1
|
2018-10-08 02:18:32 +03:00 |
|
Leonid Yuriev
|
83f3d820f1
|
mdbx-windows: refine debug-logging.
|
2018-10-08 02:17:27 +03:00 |
|
Leo Yuriev
|
797bcf9aca
|
mdbx: add mdbx_removefile().
Change-Id: I985926bdef28387d5872317a3ecf47953ce4812c
|
2018-06-30 14:56:28 +03:00 |
|
Leonid Yuriev
|
b57c3b2503
|
mdbx: check for non-local files in non-exclusive mode.
Change-Id: Ibd1bbf48aba42d5ed736069d59b18ac0dd143554
|
2018-06-20 13:52:08 +03:00 |
|
Leo Yuriev
|
0dfa9cd09a
|
mdbx: add MDBX_EXCLUSIVE instead of mdbx_env_open_ex().
Change-Id: I3c817d58d971385bcd07643df14beaf7122c7836
|
2018-06-20 13:52:02 +03:00 |
|
Leo Yuriev
|
09ad941a05
|
mdbx: Windows XP compatibility.
Change-Id: Iafe3a83110610071e42a168ef9fc5f8d3131854f
|
2018-06-20 13:47:14 +03:00 |
|
Leo Yuriev
|
28eda32c12
|
mdbx: split-out mdbx_is_file_local().
Change-Id: Ib7d990c4ce19d9b14a4b6739ca321d9d2666c882
|
2018-06-20 13:47:14 +03:00 |
|
Leo Yuriev
|
685abc7bcb
|
mdbx: more/again reformat by clang-format 6.0 (cosmetic).
Change-Id: I769ee5a80d75a49fc5bb041fefda6f22adc05424
|
2018-06-20 13:45:11 +03:00 |
|
Leo Yuriev
|
9db090087e
|
mdbx: reformat by clang-format 6.0 (cosmetic).
|
2018-06-18 21:29:12 +03:00 |
|
Leo Yuriev
|
f314cd6b92
|
mdbx: windows - fix truncation race while unmap.
Change-Id: I93983d100c78aa3e57c5a7ebd9d5bf2a96081ed7
|
2018-06-15 02:54:41 +03:00 |
|
Leo Yuriev
|
571b50622e
|
mdbx: restore workaround for glibc's bug #21031.
Workaround for https://sourceware.org/bugzilla/show_bug.cgi?id=21031
Change-Id: I6cf9e037cc2fc298096b78ec96773f19478ed5c0
|
2018-04-03 17:44:18 +03:00 |
|
Leo Yuriev
|
a93fafceff
|
mdbx: strip utf8-bom for Elbrus (minor).
Change-Id: I9030abe267c4abfa2c5c2deb439c0b8025b83047
|
2018-03-07 12:09:43 +03:00 |
|
Leo Yuriev
|
72557af2b5
|
mdbx: HNY!
Change-Id: I2a91b986964d96bb3e5f848e3c17408bd7745866
|
2018-02-04 13:10:54 +03:00 |
|
Leonid Yuriev
|
8d4b6b187f
|
mdbx-windows: resize file on umnap.
Change-Id: Ia4739bfcd2cc7b91c14e294c7569cbee582165b1
|
2018-01-14 21:16:52 +03:00 |
|
Leo Yuriev
|
c2fe0a71bc
|
mdbx-windows: reserve address space to avoid occupy it by other threads.
Change-Id: Ia5caec6bbeb55c7894de70e349e6e9479572b688
|
2018-01-14 21:16:52 +03:00 |
|
Leonid Yuriev
|
5c058287d5
|
mdbx-windows: check ability of address space for growth before umnap.
Change-Id: Ibb62dae26ebab8f3efdbf6aed1b26d88ed63a2b7
|
2018-01-14 21:16:52 +03:00 |
|
Leo Yuriev
|
455f60eec1
|
mdbx: minor fix OSAL (extra assert).
Change-Id: I2caad4a9c4638f124a2bae534bff4d9ed7b57f30
|
2018-01-10 01:01:49 +03:00 |
|
Leo Yuriev
|
e7922b65fa
|
mdbx-windows: refine mdbx_mresize().
|
2018-01-09 15:37:52 +03:00 |
|
Leo Yuriev
|
30bd7d3078
|
mdbx: shrinking memory-mapping for Windows (initial).
Change-Id: I3c3c2df0747c788ea36d7764c1e8139098ca62be
|
2018-01-08 17:47:41 +03:00 |
|
Leonid Yuriev
|
7812476518
|
mdbx: fix readonly mapping for Windows.
Change-Id: Ie301d7af74ff91e802aa78af8cfb329f587137ee
|
2018-01-07 17:08:47 +03:00 |
|
Leo Yuriev
|
897d4dbf87
|
mdbx: fix growth memory-mapping on Windows.
This resolves https://github.com/leo-yuriev/libmdbx/issues/22
Change-Id: I25c2e65d9f68da8012ee097d3ad579cd548f2e09
|
2018-01-07 14:31:29 +03:00 |
|
Leo Yuriev
|
91a9d4d916
|
mdbx: more ntpapi for Windows.
Change-Id: I616b09502302be9e3017db7e99cf4dcf8697f32f
|
2018-01-07 14:22:17 +03:00 |
|
Leo Yuriev
|
96a0647253
|
mdbx-windows: fix mmap-resize (add MEM_RESERVE afrer NtExtendSection).
|
2017-12-19 16:07:30 +03:00 |
|
Leo Yuriev
|
8008e23cfa
|
mdbx-windows: minor fix for legacy Windows SDK.
|
2017-12-19 16:07:25 +03:00 |
|
Leo Yuriev
|
ee9d0903c8
|
mdbx: use <winternl.h> for Windows.
|
2017-09-05 21:02:03 +03:00 |
|
Leonid Yuriev
|
82a716847b
|
mdbx: fix/workaround mmap-resize for Windows.
Change-Id: I58b5784f1309cd1e88af860828f561fe29f51ff0
|
2017-07-28 14:37:50 +03:00 |
|
Leonid Yuriev
|
092156ee4f
|
mdbx: fix/redefine ssize_t, PRI*PTR nad PRI*size macros for MSVC.
Change-Id: I6cb565087350cf1d1e1735bff1c5480c3d4c02db
|
2017-07-26 19:17:11 +03:00 |
|
Leo Yuriev
|
88ca23caa5
|
mdbx: misc refines (minor).
Change-Id: Ia58e2d75e320bbd47dd352e082cf6f41afde075f
|
2017-07-26 12:43:54 +03:00 |
|
Leo Yuriev
|
1b09605a06
|
mdbx: clarify mdbx_filesync().
Change-Id: I39029a52fd44c81901aff6114a5c58a62b92098b
|
2017-07-26 12:43:54 +03:00 |
|
Leo Yuriev
|
1f7f3af16c
|
mdbx: minor refine mdbx_mmap().
Change-Id: Ic5026b6412ca93a00faeb8306975d896d85b475d
|
2017-07-26 12:43:54 +03:00 |
|
Leo Yuriev
|
9e473ab6f2
|
mdbx: remove obsolete mlock().
Change-Id: I23df282d545eac9dd7bf9df1bd71dedbccc45cfd
|
2017-07-26 12:09:57 +03:00 |
|
Leo Yuriev
|
63af619080
|
mdbx: #ifdef-guard for FILE_PROVIDER_EXTERNAL_INFO_V1.
Change-Id: I4bc4eb012f7d6ea874a10abd4a2bfcfb789c4a22
|
2017-07-21 15:49:05 +03:00 |
|
Leo Yuriev
|
17e8429a29
|
mdbx: rework mmap-functions for osal.
- add 'length' and 'current' fields to mmap-object;
- drop mdbx_mremap();
- do remap on-demand inside mdbx_mresize();
- add mdbx_mapresize() which re-creates Valgrind's region.
- call resize on txn-begin.
Change-Id: I82780f92c4947804e3f14fb7cb71ee655382f9bb
|
2017-07-19 14:13:31 +03:00 |
|
Leo Yuriev
|
53c2b0abe4
|
mdbx: checking and reject network/remote files.
Change-Id: I77e8b8bc94785d705461d162cbc40ad58ead67ca
|
2017-07-12 03:31:20 +03:00 |
|
Leo Yuriev
|
455de97d36
|
mdbx: rework using of mdbx_mmap_t and mdbx_msync().
|
2017-07-12 03:31:20 +03:00 |
|
Leo Yuriev
|
14484a6f32
|
mdbx: fix minor defects (coverity).
Change-Id: I1a5b0788a87ab2a138b342140648642fd5855ae3
|
2017-07-04 13:21:16 +03:00 |
|
Leonid Yuriev
|
3e6a672286
|
mdbx: fix MSVC warnings, add uint16-range-asserts.
Change-Id: Ie67a728035eeae250efbf962270b5c17c974db23
|
2017-07-03 04:41:00 +03:00 |
|
Leonid Yuriev
|
ca83480c34
|
mdbx: pragma lib ntdll.lib
|
2017-06-21 01:42:41 +03:00 |
|
Leo Yuriev
|
9a2fff91f3
|
mdbx: dynamic mapsize/geometry and API (mostly done).
Change-Id: Ifb768ff3207cae1755c53c211a3ae552c6455e12
|
2017-06-21 01:42:41 +03:00 |
|
Leo Yuriev
|
10b0197026
|
mdbx: drop mdbx_get_errno_checked().
Change-Id: Ifa829b465083f17eba911e19947bdae854f9759c
|
2017-06-21 01:41:25 +03:00 |
|
Leo Yuriev
|
3ca64535b6
|
mdbx: add NTAPI to OSAL.
|
2017-06-07 18:17:21 +03:00 |
|
Leo Yuriev
|
465459dc58
|
mdbx: add MDBX_txn.mt_owner and MDBX_THREAD_MISMATCH.
|
2017-06-06 17:11:29 +03:00 |
|
Leo Yuriev
|
18cf804d0b
|
mdbx: add STATIC_ASSERT_MSG, refine STATIC_ASSERT.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
f4d3b76f81
|
mdbx: minor refine and rename mdbx_sync_locked().
Change-Id: Iab650b091006e5646d9d22316d19aa58a517684b
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
9eeb00f448
|
mdbx: trinity of meta-pages.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
5519d568f0
|
mdbx: fix mdbx_filesize() for Windows.
|
2017-05-25 09:40:29 +03:00 |
|
Leo Yuriev
|
af7b468e63
|
mdbx: use uint64_t or size_t insted of off_t (buggy on Windows).
|
2017-05-24 18:50:24 +03:00 |
|
Leo Yuriev
|
06de7a5155
|
mdbx: rename the rest MDBX_xyz.
|
2017-05-24 02:24:38 +03:00 |
|
Leo Yuriev
|
132c9c994e
|
mdbx: add mdbx_fastmutex_t.
|
2017-05-23 22:18:21 +03:00 |
|
Leo Yuriev
|
8828e90ff9
|
mdbx: mdbx_condmutex_t instead of mutex/condvar pair.
|
2017-05-23 19:57:26 +03:00 |
|
Leo Yuriev
|
0eee938c5f
|
mdbx: add MDBX_EIO.
|
2017-05-23 17:45:58 +03:00 |
|
Leo Yuriev
|
00081298d6
|
mdbx: add mdbx_get_errno_checked().
|
2017-05-15 12:08:04 +03:00 |
|
Leo Yuriev
|
678e4f5738
|
mdbx: more check/debug around mdbx_pread() and mdbx_read_header().
|
2017-04-27 18:15:12 +03:00 |
|
Leo Yuriev
|
7204c46421
|
mdbx: add mdbx_osal_jitter() and mdbx_jitter4testing().
|
2017-04-27 15:52:52 +03:00 |
|
Leo Yuriev
|
5ed0ccfcbb
|
mdbx: rework mdbx_pread().
|
2017-04-25 19:59:00 +03:00 |
|
Leo Yuriev
|
993730d2f1
|
mdbx: more cleanup for Windows.
|
2017-04-24 21:14:36 +03:00 |
|
Leo Yuriev
|
0d59cd4fe2
|
mdbx: rework lck/body setup.
|
2017-04-24 16:15:01 +03:00 |
|
Leo Yuriev
|
2e54210e79
|
mdbx: add mdbx_osal.h with platform-like err codes.
|
2017-04-24 16:15:01 +03:00 |
|
Leonid Yuriev
|
a4a542c3b5
|
mdbx: fix nasty typo in Windows's mdbx_pwritev().
|
2017-04-15 22:45:56 +03:00 |
|
Leo Yuriev
|
a3644aa6d0
|
mdbx: new testset (initial, stub).
Initial stub for https://github.com/ReOpen/libmdbx/issues/8
|
2017-04-10 23:20:22 +03:00 |
|
Leo Yuriev
|
0b400c5dd0
|
mdbx: fix posix mdbx_mmap().
|
2017-04-05 18:21:05 +03:00 |
|
Leo Yuriev
|
6d507233cc
|
mdbx: snprintf/vsnprintf stub for MSC.
|
2017-04-04 15:35:52 +03:00 |
|
Leo Yuriev
|
0f49ed6e53
|
mdbx: big-bang (initial).
- OS Abstraction Layer;
- Windows Support.
- preparation for more changes.
Change-Id: I53772eda9091ba361cbc9a28656190ea0d4c5cee
|
2017-03-29 00:53:39 +03:00 |
|