Leo Yuriev
c01aeb5c68
mdbx: refine meta_txnid().
...
Change-Id: I4d78b2ebed8850c90dc762405ba939be7385c9a3
2017-06-16 05:21:49 +03:00
Leo Yuriev
6f53dd0719
mdbx: add mdbx_dbi_flags_ex().
2017-06-09 16:44:34 +03:00
Leo Yuriev
465459dc58
mdbx: add MDBX_txn.mt_owner and MDBX_THREAD_MISMATCH.
2017-06-06 17:11:29 +03:00
Leonid Yuriev
318646794e
mdbx: partial fix MSVC level-4 warnings.
2017-06-06 04:15:08 +03:00
Leonid Yuriev
bfa6dea784
mdbx: fix size_t/unsigned/int warnings.
...
Change-Id: Ic5a8684aed232b8b732d6e7a87a6757f3f7afcec
2017-06-06 04:15:08 +03:00
Leo Yuriev
61d7ea283f
mdbx: size_t for sync_threshold and mapsize.
2017-06-06 04:15:08 +03:00
Leo Yuriev
802c10f13f
mdbx: log2shift instead of multiplication by pagesize.
...
Change-Id: I72c4c7699a409795459b466ff74c388b15b13687
2017-06-06 04:15:08 +03:00
Leo Yuriev
9ef81ac16c
mdbx: add 'unlikely' to IS_OVERFLOW().
...
Change-Id: Ia92aac948046890ca4f9d9c3fbff0b4ac5728fab
2017-06-06 04:15:08 +03:00
Leo Yuriev
439ae3983c
mdbx: use 2^N constants for fill-threshold.
...
Change-Id: I3e190f5af77282a7995ae733c7a6865a21daa6c3
2017-06-06 04:15:08 +03:00
Leo Yuriev
59c22ab036
mdbx: use 32-bit pgno_t (page numbers).
...
Change-Id: Ie9f3528e12b7be27765c0225edde26e4d8282692
2017-06-06 04:15:08 +03:00
Leo Yuriev
1343b46466
mdbx: add txnid-list functions.
2017-06-06 04:15:08 +03:00
Leo Yuriev
95ebdb7065
mdbx: MAX_PAGESIZE always 64K.
2017-06-06 04:15:08 +03:00
Leo Yuriev
61a3766e23
mdbx: update DB format and signatures.
...
Change-Id: I9c4b187e8ebc3df63fef15ae98872e27d56a01ab
2017-06-06 04:15:08 +03:00
Leonid Yuriev
e7ee0bc762
mdbx: refine testing-jitter, add MDBX_DBG_JITTER.
...
Change-Id: Ibc3bd8a16626e97aabc2cc544a3803f2e2bc3a10
2017-06-06 04:15:08 +03:00
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