Leo Yuriev
|
5c3691eff1
|
mdbx: split atomics for 32/64 uints.
|
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
|
dd33bea1d8
|
tools: mdbx_chk - don't 'rolled-back' in cooperative more.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
bd70135db1
|
mdbx: re-read and check meta-pages in mdbx_read_header() for consistency.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
93c5a84bcd
|
mdbx: more checks mdbx_read_header() for metapage's content.
|
2017-05-28 17:02:19 +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
|
4293840055
|
mdbx: fix meta-invalidate race in MDBX_WRITEMAP mode (when target == head).
|
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
|
9959fe8711
|
mdbx: reorder fields in metapages.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
c02a3ac687
|
mdbx: ignore meta-pages with wrong pagesize.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
0e49b1b2b4
|
mdbx: update 'mapsize' while opening with txn-increment.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
d642127d10
|
tools: fix 'tail' show in mdbx_chk.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
5d836d2b03
|
mdbx: clarify steady/fluid/weak names of a head.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
1e0654a4a8
|
tool: show operational txnid in mdbx_chk.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
47cc45dec4
|
mdbx: don't check present durability mode for MDBX_RDONLY.
|
2017-05-28 17:02:19 +03:00 |
|
Leo Yuriev
|
700f3e9c2a
|
mdbx: more checks for meta-params.
|
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
|
141306644d
|
mdbx: fix mdbx_env_copy_asis().
|
2017-05-26 03:10:31 +03:00 |
|
Leo Yuriev
|
7315b99b9d
|
mdbx: fix MSVC/Windows warnings.
|
2017-05-25 19:12:51 +03:00 |
|
Leo Yuriev
|
b9dbe7c577
|
mdbx: fix segfault and double-free (in case twice abortion of the same write-txn).
|
2017-05-25 18:39:45 +03:00 |
|
Leo Yuriev
|
96de36baef
|
mdbx: refine mdbx_cursor_count() API.
|
2017-05-25 16:21:29 +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
|
5519d568f0
|
mdbx: fix mdbx_filesize() for Windows.
|
2017-05-25 09:40:29 +03:00 |
|
Leo Yuriev
|
15e2a45425
|
mdbx: check size of lck-file.
|
2017-05-25 09:40:29 +03:00 |
|
Leo Yuriev
|
c335b16c81
|
mdbx: rework mapsize's stuff inside mdbx_setup_dxb().
|
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
|
7ef7e70012
|
mdbx: add STATIC_ASSERT.
|
2017-05-24 18:45:08 +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
|
62ebc59330
|
mdbx: rework version info (stub for now).
|
2017-05-24 02:17:10 +03:00 |
|
Leo Yuriev
|
88ea2768f5
|
mdbx: fix gcc 'comparison is always true' warning.
|
2017-05-23 22:35:59 +03:00 |
|
Leo Yuriev
|
2c43997026
|
mdbx: change mdbx_env_set_oomfunc() API.
|
2017-05-23 22:18:21 +03:00 |
|
Leo Yuriev
|
132c9c994e
|
mdbx: add mdbx_fastmutex_t.
|
2017-05-23 22:18:21 +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
|
8828e90ff9
|
mdbx: mdbx_condmutex_t instead of mutex/condvar pair.
|
2017-05-23 19:57:26 +03:00 |
|
Leo Yuriev
|
2f97939efd
|
mdbx: more cleanup mdbx_midl_sort().
|
2017-05-23 19:57:26 +03:00 |
|
Leo Yuriev
|
eff0f92fa7
|
mdbx-tools: replace size_t/PRIuPTR with uint64_t/PRIu64.
|
2017-05-23 19:57:26 +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
|
5c2042c466
|
tools: internal minor renames (preparation for changes).
|
2017-05-23 17:45:58 +03:00 |
|
Leo Yuriev
|
8b9e391dd0
|
mdbx: cleanup internals (mostly formatting, but not only).
|
2017-05-23 17:45:58 +03:00 |
|
Leo Yuriev
|
398b839b98
|
mdbx: drops old/obsolete API (mdbx_env_copy and mdbx_env_copydf).
|
2017-05-23 17:45:58 +03:00 |
|
Leo Yuriev
|
0eee938c5f
|
mdbx: add MDBX_EIO.
|
2017-05-23 17:45:58 +03:00 |
|
Leo Yuriev
|
994481e4f4
|
mdbx: replace size_t with uint64_t/uint32_t in API.
|
2017-05-23 17:45:58 +03:00 |
|
Leo Yuriev
|
d0793a1daf
|
mdbx: fix MDB_DUPSORT with MDB_CURRENT update bug.
|
2017-05-22 15:35:33 +03:00 |
|
Leo Yuriev
|
82d3595b76
|
mdbx: add MDBX_EKEYMISMATCH.
|
2017-05-22 15:35:33 +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
|
0810f4e105
|
mdbx: fix MDBX_CORRUPED error (nasty copy&paste bug).
|
2017-05-18 22:31:19 +03:00 |
|
Leo Yuriev
|
b4fd0500d1
|
mdbx: more lck-debug.
|
2017-05-18 16:17:24 +03:00 |
|
Leo Yuriev
|
d2af39fd73
|
mdbx: more for without-lck mode (not completed).
|
2017-05-18 16:17:24 +03:00 |
|
Leo Yuriev
|
fd8be99282
|
mdbx: cleanup mdbx_env_init_metas().
|
2017-05-18 16:17:24 +03:00 |
|
Leo Yuriev
|
818e742c58
|
mdbx: cleanup mdbx_env_create().
|
2017-05-18 16:17:24 +03:00 |
|
Leo Yuriev
|
6ee3aebc32
|
mdbx: use flock() for share/exclusive lck.
|
2017-05-18 16:17:24 +03:00 |
|
Leo Yuriev
|
4481555c90
|
mdbx: refine mdbx_dkey() API.
|
2017-05-18 16:02:29 +03:00 |
|
Leo Yuriev
|
c479c5ff15
|
mdbx: rework mdbx_env_sync().
Change-Id: I6192e8a333b607d1e46eadddb73863943635f1ec
|
2017-05-18 16:02:29 +03:00 |
|
Leo Yuriev
|
7a4541f598
|
mdbx: minor cleanup.
|
2017-05-18 15:57:06 +03:00 |
|
Leo Yuriev
|
00be62e235
|
mdbx: cleanup formating.
|
2017-05-18 15:57:06 +03:00 |
|
Leo Yuriev
|
677625ead1
|
mdbx: add MDBX_WANNA_RECOVERY.
|
2017-05-18 04:31:54 +03:00 |
|
Leo Yuriev
|
015a242c89
|
mdbx: rollback weak checkpoint or MDB_CORRUPTED.
|
2017-05-18 04:30:10 +03:00 |
|
Leo Yuriev
|
ed46246931
|
mdbx: rework mdbx_dbi_open().
|
2017-05-16 00:50:12 +03:00 |
|
Leo Yuriev
|
00081298d6
|
mdbx: add mdbx_get_errno_checked().
|
2017-05-15 12:08:04 +03:00 |
|
Leo Yuriev
|
533e01cc93
|
mdbx: change mdbx_dbi_close() API.
|
2017-05-11 10:08:22 +03:00 |
|
Leo Yuriev
|
e8a430999c
|
mdbx: hush MSVC warnings for atomic stubs.
|
2017-05-11 10:08:22 +03:00 |
|
Leo Yuriev
|
29f01cf3f4
|
mdbx: use PRIuPTR/PRIiPTR/PRIxPTR instead of %z.
|
2017-05-10 19:16:23 +03:00 |
|
Leo Yuriev
|
8848df34bc
|
mdbx: check gcc/clang version for stdatomic.h
|
2017-04-27 18:46:11 +03:00 |
|
Leo Yuriev
|
4e9b734b52
|
mdbx: fix mdbx_read_header().
|
2017-04-27 18:15:12 +03:00 |
|
Leo Yuriev
|
82f053a685
|
mdbx: more debug for lck-seize.
|
2017-04-27 18:15:12 +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
|
f8903ca7c7
|
mdbx: minor refine/speedup mdbx_cursor_put().
|
2017-04-27 18:07:58 +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
|
fd078ee163
|
mdbx: check for txnid overflow (paranoia).
Change-Id: Id7cd62abf8605150ff5491fb1129383e3e748603
|
2017-04-27 01:37:42 +03:00 |
|
Leo Yuriev
|
9e07b71c27
|
mdbx: fix snap-state bug.
Change-Id: I8700209ab012bfef21c88fe06c39b80a640291c6
|
2017-04-27 01:37:42 +03:00 |
|
Leo Yuriev
|
939285bef2
|
mdbx: add atomics-ops for assertions.
|
2017-04-27 01:37:42 +03:00 |
|
Leo Yuriev
|
7ec571c9a0
|
mdbx: partial cleanup/reformat comments.
Change-Id: Ia96a5b307dc065b4d1920234c3cce93a0e585876
|
2017-04-27 01:36:31 +03:00 |
|
Leo Yuriev
|
333e5fada3
|
mdbx: internal cleanup (rename, etc).
|
2017-04-26 19:11:34 +03:00 |
|
Leo Yuriev
|
99002d016f
|
mdbx: add yielding for lck-testing for Windows if NDEBUG undefined.
|
2017-04-26 14:17:52 +03:00 |
|
Leo Yuriev
|
5ed0ccfcbb
|
mdbx: rework mdbx_pread().
|
2017-04-25 19:59:00 +03:00 |
|
Leo Yuriev
|
aa59522dbe
|
mdbx: minor refine open-path.
|
2017-04-25 19:51:23 +03:00 |
|
Leo Yuriev
|
326dea8bc1
|
mdbx: use FormatMessage() for Windows.
|
2017-04-25 19:17:57 +03:00 |
|
Leo Yuriev
|
993730d2f1
|
mdbx: more cleanup for Windows.
|
2017-04-24 21:14:36 +03:00 |
|
Leo Yuriev
|
e98a1e5319
|
mdbx: move MDBX_LOCK_SUFFIX to API defs.
|
2017-04-24 17:52:56 +03:00 |
|
Leo Yuriev
|
0d59cd4fe2
|
mdbx: rework lck/body setup.
|
2017-04-24 16:15:01 +03:00 |
|
Leo Yuriev
|
19d877635c
|
mdbx: alter db-file extensions.
|
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 |
|
Leo Yuriev
|
f7507110ef
|
mdbx: alter mdbx_txn_id() API.
|
2017-04-24 16:15:01 +03:00 |
|
Leo Yuriev
|
ce9c4acea6
|
mdbx: fix mdbg_canary_put().
Change-Id: I36917a686b28405ed7ecd07dbeb1b4d517720410
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
1bddc9dcbc
|
mdbx: change mdbx_canary_get() API.
Change-Id: Ie8831d8acb7113916b8a44b870596a9bf1ccc8b2
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
11ac6a02ff
|
mdbx: rework posix-lck.
Change-Id: Icdd61731424b0d591fd28da0468b9623d079c94a
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
6b4f92b22e
|
mdbx: rework windows-clk.
Change-Id: Ie0f8422a39879c9d5e6b4697c7e90fe67076b021
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
1596bceff2
|
mdbx: rework mdbx_env_setup_locks()'s tasks.
Change-Id: I79953554a0b2cce8235ec5dbc83f183cb3fd56a0
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
cd37b81cc5
|
mdbx: refine mdbx_txn_renew0().
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
8bed6a5c89
|
mdbx: fix mdbx_rthc_remove().
|
2017-04-23 19:16:22 +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
|
36f1491ba8
|
mdbx: cleanup mdbx_mutex_failed().
|
2017-04-23 19:16:22 +03:00 |
|
Leo Yuriev
|
ebb404e5bc
|
mdbx: remove tsan_mutex.
|
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
|
99dd373215
|
mdbx: fix/refine mdbx_txn_end() and mdbx_txn_renew0().
|
2017-04-23 19:16:21 +03:00 |
|
Leo Yuriev
|
c2087f186e
|
mdbx: fix/rework mdbx_reader_check().
|
2017-04-23 19:16:21 +03:00 |
|
Leo Yuriev
|
1b490fda24
|
mdbx: add mdbx_dbi_sequence().
|
2017-04-17 21:38:33 +03:00 |
|
Leo Yuriev
|
dfc3020426
|
mdbx: fix mdbx_canary_put().
|
2017-04-17 21:38:25 +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
|
095cd25e23
|
mdbx: check sys-pagesize for power-of-2.
|
2017-04-05 18:33:19 +03:00 |
|
Leo Yuriev
|
b558757cf1
|
mdbx: roundup readers/lck-filesize.
|
2017-04-05 18:21:24 +03:00 |
|
Leo Yuriev
|
0b400c5dd0
|
mdbx: fix posix mdbx_mmap().
|
2017-04-05 18:21:05 +03:00 |
|
Leo Yuriev
|
fcb63130d6
|
mdbx: fix posix mdbx_lck_destroy().
|
2017-04-05 18:20:25 +03:00 |
|
Leo Yuriev
|
6d507233cc
|
mdbx: snprintf/vsnprintf stub for MSC.
|
2017-04-04 15:35:52 +03:00 |
|
Leo Yuriev
|
ab4597cedc
|
mdbx: add MDBX_MAXDATASIZE.
|
2017-03-31 17:59:45 +03:00 |
|
Leo Yuriev
|
a2593625cc
|
mdbx: add mdbx_get_maxkeysize().
|
2017-03-31 17:59:45 +03:00 |
|
Leo Yuriev
|
5c5ef256b3
|
mdbx: change mdbx_dkey().
|
2017-03-31 17:04:45 +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
|
7d351f74c4
|
mdbx: rename mdbx_stat() to mdbx_dbi_stat().
|
2017-03-29 18:52:55 +03:00 |
|
Leo Yuriev
|
9731e07120
|
mdbx: uint32/uint64 for INTEGER_KEY.
|
2017-03-29 00:53:39 +03:00 |
|
Leo Yuriev
|
69a6d10a8a
|
mdbx: crutch for Windows's UnlockFile().
|
2017-03-29 00:53:39 +03:00 |
|
Howard Chu
|
c25934a8dd
|
mdbx: backport - fix xcursor after cursor_del (ITS#8622).
Re-fix 6b1df0e4c7fadd21d1233d7157229b2d89ccaa04 from ITS#8406
Change-Id: I177bef20cfa4b464a38cb42d66b7134f84434490
|
2017-03-29 00:53:39 +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 |
|
Leo Yuriev
|
95e606606a
|
mdbx: subdirs.
Change-Id: Iea70b29ed39f55ee363729300f6ce54127b4e880
|
2017-03-16 18:04:56 +03:00 |
|