Commit Graph

39 Commits

Author SHA1 Message Date
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