Commit Graph

804 Commits

Author SHA1 Message Date
Leo Yuriev
beda690227 mdbx: fix resource-leak in mdbx_env_open_ex() in case of error (coverity).
Change-Id: I9e808e2de4a64d05205a79c9d90feacc87ec930d
2017-07-04 13:21:16 +03:00
Leo Yuriev
93d92db43d mdbx: fix mischecking in mdbx_reader_check0() (coverity).
Change-Id: I2e3aaba1426c3b152a39b90f6d171380948da0a7
2017-07-04 13:21:16 +03:00
Leo Yuriev
bf8507f3ec mdbx: fix mdbx_env_info() to avoid null-deref in lck-free mode (coverity).
Change-Id: Ica8fe6c7f5a18af3a4d7d38ce8a1a092d5f1b2f7
2017-07-04 11:45:48 +03:00
Leo Yuriev
aec35300c4 mdbx: fix new API function after the merge.
Change-Id: Ic929444ceb137ccaa2ab4fe82b4f93a3cb5a92aa
2017-07-04 10:46:46 +03:00
Leo Yuriev
b34e92d308 mdbx: cleanup/reformat after the merge.
Change-Id: I3e0fe8f1292a6387e8d3ff8b904170f05d8e1770
2017-07-04 10:35:32 +03:00
Leo Yuriev
594834bc9c mdbx: Merge branch 'nexenta' into devel.
Change-Id: I7a00f98e088f21ebc91a3861309b697f01e1fa66
2017-07-04 09:22:09 +03:00
Leo Yuriev
3c5ae4cc9c mdbx: disable C4548 as workaround for buggy WinSDK 10.0.10240.0 2017-07-03 12:50:48 +03:00
Leo Yuriev
78ae12aa10 mdbx: fix MSVC 'padding' warnings, minor refine fields ordering. 2017-07-03 11:41:24 +03:00
Leo Yuriev
1d702aa94f mdbx: more warning control for MSVC. 2017-07-03 06:45:41 +03:00
Leo Yuriev
283eb0aff0 test: add 'volatile' to rdtsc() and friends (fix for modern clang).
Change-Id: I82d531f66b1aa44c173485d1955611ed46767998
2017-07-03 05:11:52 +03:00
Leonid Yuriev
229514c93e mdbx: update TODO.
Change-Id: Ib812146ccb78496dc28610cbd2a6597b09ee238f
2017-07-03 04:45:13 +03:00
Leonid Yuriev
5dd68f70fa mdbx: use /W4 (level4 for warnings) and /WX (treat warnings as errors).
Change-Id: I04872c15c295c67eccb0d6379447aab7ac7ca163
2017-07-03 04:43:00 +03:00
Leonid Yuriev
3e6a672286 mdbx: fix MSVC warnings, add uint16-range-asserts.
Change-Id: Ie67a728035eeae250efbf962270b5c17c974db23
2017-07-03 04:41:00 +03:00
Leo Yuriev
2ed74ee78f mdbx: fix MSVC size_t/uint64_t warnings (minor).
Change-Id: I580eea87e9c557c61b1ff0b66feaafce139d2c45
2017-06-30 07:25:56 +03:00
Leo Yuriev
9cb3abf379 mdbx: update TODO.
Change-Id: Ia5d9e39276845361b8f3fe0c01ce0521bebf5c0d
2017-06-30 00:43:11 +03:00
Leo Yuriev
186d2ee065 mdbx: add 'mti_reader_finished_flag' for speedup find_oldesd().
Change-Id: I4a2c8b80efad0cfc12918969125d258043cbffba
2017-06-30 00:43:11 +03:00
Leo Yuriev
acfa096aba mdbx: more for lockless/readonly mode (testing needed).
Change-Id: I28f46f5a373212ebb5df780f4d2b5e216d8cdae2
2017-06-30 00:43:11 +03:00
Leo Yuriev
bfa8e439ba mdbx: use GNU C11 by default. 2017-06-24 19:34:29 +03:00
Leo Yuriev
5fbb8d1018 mdbx: fix C11 warnings abount atomic. 2017-06-24 19:33:34 +03:00
Leo Yuriev
5ab319bbb1 mdbx: update TODO. 2017-06-21 01:42:41 +03:00
Leonid Yuriev
ca83480c34 mdbx: pragma lib ntdll.lib 2017-06-21 01:42:41 +03:00
Leonid Yuriev
28ba127db2 test: typo fix. 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
45defdc170 mdbx: refine err returning (MDBX_EPERM, etc).
Change-Id: Iaa21a0e6632be47d6ef2a3676ba5e1381fc03b4d
2017-06-21 01:42:27 +03:00
Leo Yuriev
10b0197026 mdbx: drop mdbx_get_errno_checked().
Change-Id: Ifa829b465083f17eba911e19947bdae854f9759c
2017-06-21 01:41:25 +03:00
Leo Yuriev
151d4540de mdbx: refine internal constant (use UINT32_C, etc minors).
Change-Id: I0f994ee75b5aa1494fcc8ca42a46120865676e25
2017-06-21 01:39:53 +03:00
Leo Yuriev
f93818a926 mdbx: fix MAX_MAPSIZE for Win32.
Change-Id: I04cbffb14ab7c73d935614b2f5c8140000b78d76
2017-06-21 01:36:49 +03:00
Leo Yuriev
edc936dc28 mdbx: rework mdbx_oomkick() and speedup mdbx_find_oldest().
Change-Id: Icc2c450e7f10efe1b4ab8705e6a659cece256dc1
2017-06-16 05:27:01 +03:00
Leo Yuriev
81661ff952 mdbx: add shared cache for oldest reader's txnid.
Change-Id: I48cbc778b873445dffa8ecef1fc3633e0193131f
2017-06-16 05:21:49 +03:00
Leo Yuriev
c01aeb5c68 mdbx: refine meta_txnid().
Change-Id: I4d78b2ebed8850c90dc762405ba939be7385c9a3
2017-06-16 05:21:49 +03:00
Leo Yuriev
ae71c2aa36 mdbx: simplify find-oldest inside mdbx_page_alloc().
Change-Id: I88dfc8ee268eba2452bffd3c4e6cfd066bcd8b04
2017-06-16 05:21:27 +03:00
Leo Yuriev
760f7d1331 mdbx: fix nasty 'inverted if-condition' inside mdbx_reader_check0().
Fix c2087f186e
2017-06-15 15:05:14 +03:00
Leo Yuriev
ddc3787936 mdbx: fix MDBX_RESULT_TRUE handling inside mdbx_mutex_failed()...mdbx_oomkick(). 2017-06-15 14:56:25 +03:00
Leo Yuriev
71e2fe3df0 mdbx: add MDBX_DBG_DUMP for mdbx_setup_debug().
So, meta-pages and lck-section now will be included into a coredump.
2017-06-15 13:45:16 +03:00
Leo Yuriev
2392c70e2b mdbx: refine MDBX_oom_func description. 2017-06-15 05:09:36 +03:00
Leo Yuriev
0ef41bef2b mdbx: fix mdbx_txn_straggler() for write-txn. 2017-06-13 19:27:52 +03:00
Leo Yuriev
e7f9f2bd5c ci: add Coverity Scan (initial).
Change-Id: I7430ae49b1e5f02dbaa2fc31a5d3b992ec2ca2e3
2017-06-12 15:41:53 +03:00
Leo Yuriev
6f53dd0719 mdbx: add mdbx_dbi_flags_ex(). 2017-06-09 16:44:34 +03:00
Leo Yuriev
3ca64535b6 mdbx: add NTAPI to OSAL. 2017-06-07 18:17:21 +03:00
Leo Yuriev
d2d513014d mdbx: add mdbx_lck_upgrade() to OSAL. 2017-06-06 20:28:00 +03:00
Leo Yuriev
204904df7c mdbx: disallow begin txn if env not yet opened. 2017-06-06 20:28:00 +03:00
Leo Yuriev
fbce45cb98 mdbx: allow calling mdbx_env_sync() inside transaction. 2017-06-06 20:28:00 +03:00
Leo Yuriev
1d15ae4b13 mdbx: zeroing MDBX_page.mp_validator for Valgrind/AddressSanitizer. 2017-06-06 17:47:46 +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
3bf3a08f96 mdbx: fix write-txn thread cleanup. 2017-06-06 17:09:49 +03:00
Leonid Yuriev
318646794e mdbx: partial fix MSVC level-4 warnings. 2017-06-06 04:15:08 +03:00
Leonid Yuriev
90b30e7584 mdbx: level-4 warnings for debug-build. 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
Leonid Yuriev
7e85ad82f1 mdbx: refine read_header(), add MDBX_TOO_LARGE.
Change-Id: I25b9bb2e3817993d627b2b784dfa496d9ba7e7b0
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