Leo Yuriev
d5b0e68326
mdbx: fix merge/rebase error (remove mm_txnid field).
2017-05-29 20:44:17 +03:00
Leo Yuriev
0f676db491
mdbx: add locking while open/close/drop dbi-handles (avoid dbi-related races).
...
This avoid races and collisions between threads when opening,
closing and deleting DBI-handles.
unfortunately, this does not resolve collision in the case an one thread
closing the DBI-handle while the another thread performs transaction.
Change-Id: I48c3ffb11a8f83739fae1712db3476645f573e09
2017-05-29 19:38:43 +03:00
Leo Yuriev
a0ddf167dd
mdbx: common database format for 32/64 targets (remove 'size_t' structures).
...
Change-Id: I2d7c77603ee27c5ae4b82f762a726f71136527c8
2017-05-28 18:35:58 +03:00
Leo Yuriev
f945e8a062
mdbx: fix cache-aligned size for MDBX_reader.
...
Change-Id: I1e48dd279106daa629fbcd427ec841828799c8f6
2017-05-28 17:06:04 +03:00
Leo Yuriev
60fed8bbca
mdbx: fix first-rdonly-blocker bug.
2017-05-28 17:06:04 +03:00
Leo Yuriev
76f459c08e
mdbx: two-phase txnid to avoid bottom-top DMA updates.
2017-05-28 17:06:04 +03:00
Leo Yuriev
1c170cb866
mdbx: add MAX_PAGENO, MIN_PAGENO, MAX_MAPSIZE, MIN_MAPSIZE.
2017-05-28 17:02:19 +03:00
Leo Yuriev
18cf804d0b
mdbx: add STATIC_ASSERT_MSG, refine STATIC_ASSERT.
2017-05-28 17:02:19 +03:00
Leo Yuriev
9959fe8711
mdbx: reorder fields in metapages.
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
3a166e1970
test: temporary crutch.
2017-05-25 15:30:35 +03:00
Leo Yuriev
b94e761d73
mdbx: fix 'magic' bug.
2017-05-25 15:08:45 +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
96b9af0b4d
mdbx: minor refine idl functions.
2017-05-24 17:06:18 +03:00
Leo Yuriev
924e81ed92
mdbx: refine includes, drop midl.h and mdbx_osal.h
2017-05-24 17:05:59 +03:00
Leo Yuriev
dd7855c30d
mdbx: cleanup tabs (minor).
2017-05-24 13:37:06 +03:00
Leo Yuriev
06de7a5155
mdbx: rename the rest MDBX_xyz.
2017-05-24 02:24:38 +03:00
Leo Yuriev
8c18622592
mdbx: rework MDBX_val.
2017-05-23 22:18:21 +03:00
Leo Yuriev
ac8e987346
mdbx: rework MDBX_txn.
2017-05-23 22:18:21 +03:00
Leo Yuriev
34213c554a
mdbx: rework MDBX_reader.
2017-05-23 22:18:21 +03:00
Leo Yuriev
a3ed42b999
mdbx: rework MDBX_page, drop COPY_PGNO.
2017-05-23 22:18:20 +03:00
Leo Yuriev
8f2c21e2ba
mdbx: rework MDBX_node.
2017-05-23 22:18:20 +03:00
Leo Yuriev
0cd30792bb
mdbx: split MDB_ID into pgno_t and txnid_t.
2017-05-23 19:57:26 +03:00
Leo Yuriev
8b9e391dd0
mdbx: cleanup internals (mostly formatting, but not only).
2017-05-23 17:45:58 +03:00
Leo Yuriev
d9eeac45b2
mdbx: fix extra-logging without NDEBUG, but with MDBX_DEBUG=0.
2017-05-19 07:39:50 +03:00
Leo Yuriev
00be62e235
mdbx: cleanup formating.
2017-05-18 15:57:06 +03:00
Leo Yuriev
4b2cb66453
mdbx: use mdbx_jitter4testing() for race detection.
2017-04-27 15:52:52 +03:00
Leo Yuriev
7204c46421
mdbx: add mdbx_osal_jitter() and mdbx_jitter4testing().
2017-04-27 15:52:52 +03:00
Leo Yuriev
40dee6f05f
mdbx: rework mdbx_read_header().
2017-04-27 15:52:52 +03:00
Leo Yuriev
7ec571c9a0
mdbx: partial cleanup/reformat comments.
...
Change-Id: Ia96a5b307dc065b4d1920234c3cce93a0e585876
2017-04-27 01:36:31 +03:00
Leo Yuriev
55226499a8
mdbx: rework reader_check0() and mutex recovery.
2017-04-23 19:16:22 +03:00
Leo Yuriev
41c51fdac2
mdbx: refine debug macros/levels (initial).
2017-04-23 19:16:22 +03:00
Leo Yuriev
c1ad75d810
mdbx: check env-flags while opening live db.
2017-04-23 19:16:22 +03:00
Leo Yuriev
585496339a
mdbx: kill/remove mm_txnid.
2017-04-23 19:16:22 +03:00
Leo Yuriev
1b490fda24
mdbx: add mdbx_dbi_sequence().
2017-04-17 21:38:33 +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
095cd25e23
mdbx: check sys-pagesize for power-of-2.
2017-04-05 18:33:19 +03:00
Leo Yuriev
f8eb858ef3
mdbx: drop MDB_MAXKEYSIZE.
2017-03-31 17:04:36 +03:00
Leo Yuriev
cb6ac8912f
mdbx: now MDBX_MODE_ENABLED always.
2017-03-31 12:46:09 +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