Burak Arslan
efe400264f
mdbx: minor fix msvc build ( #117 ).
2020-09-15 20:03:42 +03:00
Leonid Yuriev
fd57088906
mdbx++: add cursor::bind() and cursor_managed' constructor.
...
Change-Id: I78eb5dbe494a0ca6c480c5854096c0849e9c4b07
2020-09-15 02:32:04 +03:00
Leonid Yuriev
10b170c6cd
mdbx: add mdbx_cursor_create() and mdbx_cursor_bind().
...
Change-Id: I223de3cca7865d58f17a59ab27ec6be730e04a90
2020-09-15 02:05:25 +03:00
Leonid Yuriev
234d65dc9d
mdbx++: update copyright & license note.
...
Change-Id: If6aac3dec6d05247aec5af956385066619685c35
2020-09-14 21:19:56 +03:00
Leonid Yuriev
cacc4aa829
mdbx++: changes after codereview-1 (part 2 of 2).
...
Change-Id: I8e1ca134bb8c5d447895f116247dfd12fa6871f0
2020-09-14 21:19:56 +03:00
Leonid Yuriev
04b0d258ff
mdbx++: changes after codereview-1 (part 1 of 2).
...
Change-Id: If58c4281ce29f95fd566bc615082963a9500c381
2020-09-14 17:18:20 +03:00
Leonid Yuriev
e40dfb771e
mdbx-ci: workaround for MSVC-2019 optimizer bug.
...
Related to https://github.com/erthink/libmdbx/issues/116
Change-Id: I8d1a7248bcf3e4369ffb7600cedee8e5bc5bd95c
2020-09-14 03:48:59 +03:00
Leonid Yuriev
5798155892
mdbx++: updates tested compilers list.
...
Change-Id: I57e04ec29fbb6d7db43abb5174cbc64a116c1aa0
2020-09-14 02:42:48 +03:00
Leonid Yuriev
da151e52a7
mdbx++: hide/move trouble_location
to unused section.
...
Change-Id: If0cb1ae18e164819f916ff6fc1b5e6e487f50368
2020-09-14 02:23:19 +03:00
Leonid Yuriev
17d9ed31f9
mdbx: support for building by GCC 4.8
...
Change-Id: I4ad5c5be60233ae68936e0cbca1a0f01ec786bad
2020-09-13 21:22:41 +03:00
Leonid Yuriev
1bc49f680d
mdbx++: more songs&dances about constexpr for old/mad compilers.
...
Change-Id: I00d7629ea9009b918f687f1e2a9f5ca8adba5ac2
2020-09-13 21:22:41 +03:00
Leonid Yuriev
6c70a7fe11
mdbx++: enables C++ API for amalgamated source code.
...
Change-Id: Ie73f32ee6b9a565eee69fa7267798a0fd67db4b0
2020-09-13 21:22:41 +03:00
Leonid Yuriev
cd4caeb03d
mdbx: add mdbx_panic() to C API.
...
Change-Id: I009a7889311b57ae2210822a8087889f900919f8
2020-09-10 15:37:59 +03:00
Leonid Yuriev
58bcfb006e
mdbx: add mdbx_printf_args() macro.
...
Change-Id: I7fca72f8cc912d8644ecf149b755c78fb3cc7e23
2020-09-10 15:35:43 +03:00
Leonid Yuriev
369612a9b2
mdbx: Merge branch 'master' into c++.
...
Change-Id: I7431973ca96afe98d991ffd0a876a15e6ed94714
2020-09-10 01:33:32 +03:00
Leonid Yuriev
50c25f479d
mdbx++: more Doxygen descriptions and refinement.
...
Change-Id: Iec4cfa220f140c0fcc858f51283af2f9c4dd7a65
2020-09-10 01:15:35 +03:00
Leonid Yuriev
3fb12d1f5f
mdbx: adds explicit note about the telegram group.
...
Change-Id: I7c48575c6a06822539c9abdeae334536266543e3
2020-09-08 20:05:23 +03:00
Leonid Yuriev
16912b8a40
mdbx-ci: allow builds using MSVC-2019 to fail due to internal compiler errors.
...
At least the MSVC 19.27.29111.0 hang up during code generation/optimization due to its own internal errors.
Related to https://github.com/erthink/libmdbx/issues/116
Change-Id: I016769b38dea800da5450bd33fb241f145ff24da
2020-09-07 20:49:40 +03:00
Leonid Yuriev
c17ab74521
mdbx: add link to documentation & C++ API.
...
Change-Id: Ib61ab37b9083ef088920cba8e331f71776b191cd
2020-09-07 16:15:22 +03:00
Leonid Yuriev
7272403cfd
mdbx-doc: simplify Doxygen TOC.
...
Change-Id: I9f433628433fd8deea6c4128c4e1452bcadfba49
2020-09-07 15:21:21 +03:00
Leonid Yuriev
64e35a1e44
mdbx-doc: add and describe MDBX_SYNC_DURABLE.
...
Change-Id: Id51e8c764a073e7c502d8d0b95ace0e14510e85b
2020-09-07 12:38:08 +03:00
Leonid Yuriev
f393ae1c51
mdbx-doc: fix typos.
...
Change-Id: Iff6be053a796f57cc89e29e016a52b7654953cda
2020-09-07 12:38:08 +03:00
Leonid Yuriev
9249297d31
mdbx: fix MSVC compiler version requirements.
...
Change-Id: Iabf7ab571ca887bd7995ae6293d3c70bb85a947b
2020-09-07 12:38:08 +03:00
Leonid Yuriev
538d2e4d62
mdbx: skip update meta-geo in read-only mode.
...
Change-Id: I1c9610920ad87dc8110e8d03038ef385220000c8
2020-09-07 12:38:08 +03:00
Leonid Yuriev
81f82ae7b3
mdbx++: added partial doxygen descriptions and refined some methods.
...
Change-Id: I98bd4cb6e296970abbd40ffa049eff6051f30135
2020-09-07 03:10:25 +03:00
Leonid Yuriev
5cb6f02770
mdbx++: add mdbx::fatal constructors for goofy compilers.
...
Change-Id: I5a26b34eac1b7ee9e9c5d7ca060a2adea30e68aa
2020-09-05 14:05:09 +03:00
Leonid Yuriev
2bcd2e510e
mdbx: Merge branch 'devel' into c++.
...
Change-Id: Iedfe7e7ae21d08628c24b4dd5a788bc43cced2f5
2020-09-05 13:48:40 +03:00
Leonid Yuriev
ab9f47a5fe
mdbx: fix MSVC compiler version requirements.
...
Change-Id: Iabf7ab571ca887bd7995ae6293d3c70bb85a947b
2020-09-05 12:16:00 +03:00
Leonid Yuriev
54ccb92444
mdbx: skip update meta-geo in read-only mode.
...
Change-Id: I1c9610920ad87dc8110e8d03038ef385220000c8
2020-09-05 11:57:34 +03:00
Leonid Yuriev
c24e566591
mdbx: alter notice/warning/verbose level of some log-messages.
...
Change-Id: I08c3f5cf6489095f04c8becc4818d34b8db61422
2020-09-05 11:48:29 +03:00
Leonid Yuriev
6d7ec5a257
mdbx: enable non-debug logging in non-debug builds.
...
Change-Id: I295de5ef6369a55500b023abc3dcb26f5071c2da
2020-09-05 01:57:02 +03:00
Leonid Yuriev
b1877d08ae
mdbx: rework mdbx_chk & tree-traversal.
...
Change-Id: Idc131539426fe0cbb97a105cff2d0a12b1496bfe
2020-09-05 01:57:02 +03:00
Leonid Yuriev
9a5df2b284
mdbx: refine errors returning from get_page().
...
Change-Id: I2da37d3b35679f345324d6dd97d2a3f634449b56
2020-09-05 01:57:02 +03:00
Leonid Yuriev
6867c13bd1
mdbx: more runtime checks/errors instead of assertions.
...
Change-Id: I843f28b7faeb23f986154dd92a0e2b50d66a1dde
2020-09-05 01:57:02 +03:00
Leonid Yuriev
a758e32f91
mdbx: remove assertions from page_check().
...
Change-Id: Ic157e7fc43d9c3a84e530d0001409ff2a5c1f818
2020-09-05 01:57:02 +03:00
Leonid Yuriev
6e339fc849
mdbx: add bad_page().
...
Change-Id: I5233e4a701ee11fd59d7083576f40f7df3068ddd
2020-09-05 01:57:02 +03:00
Leonid Yuriev
f0de3ff098
mdbx: continued page-check.
...
Change-Id: Id4aa37284a12f49e359a6c9391d2fd5b6acb2ad0
2020-09-05 01:57:02 +03:00
Leonid Yuriev
d6645f84f2
mdbx: more error logging.
...
Change-Id: I3757e587514450634b5d3ebf8721c9ed4ac182f1
2020-09-05 01:57:02 +03:00
Leonid Yuriev
cd6aa4a708
mdbx: parent-page-txnid checking.
...
Change-Id: I6d37326c4ff2aa32587704b971bd650d9221b06f
2020-09-05 01:57:02 +03:00
Leonid Yuriev
cd4f732a87
mdbx: drop internal unused fields.
...
Change-Id: I634d3e0695f300df79129a15da752a23b277a0ce
2020-09-05 00:55:00 +03:00
Leonid Yuriev
06a8cb1e5a
mdbx-doc: Quick reference for Insert/Update/Delete operations.
...
Change-Id: Iae2011ea431302fae1d1627297a061d6d01f7555
2020-09-05 00:26:06 +03:00
Leonid Yuriev
b095ad872c
mdbx: add MDBX_ALLDUPS & MDBX_UPSERT, rework handling of others.
...
Change-Id: I27d437540d883935d78242e4fc7e28951ab9f496
2020-09-05 00:26:06 +03:00
Leonid Yuriev
0671114bbb
mdbx++: Add support for C++17 polymorphic allocators.
...
Change-Id: I76054829551c247a4d8f81288fc47db47ead0288
2020-09-05 00:26:06 +03:00
Leonid Yuriev
5ec0f5b299
mdbx: refine mdbx_replace_ex().
...
We can skip update only when a data exactly the same,
but user's md_dcmp() may returns zero even data is NOT matches byte-to-byte.
So to skip update the cmp_len fast() should be used instead of md_dcmp().
Change-Id: I6ad0f7cfc6a18722b46e565deef3a544ddf9968a
2020-09-05 00:26:06 +03:00
Leonid Yuriev
33b1cf2931
mdbx++: Initial C++ API (some extra methods are not implemented).
...
Change-Id: I0478d0c94dcd12b52916e87815e5731817407c3c
2020-09-05 00:26:06 +03:00
Leonid Yuriev
89dba59ce2
mdbx: refine/fix handling MDBX_MULTIPLE in the mdbx_cursor_put().
...
Change-Id: I06ac9d73cec01afb492b5c663acf310d19e4900b
2020-09-05 00:26:06 +03:00
Leonid Yuriev
426d207fc4
mdbx: fix page_get() null-defer when DB corrupted.
...
Change-Id: Ia4b5870e6718cd376d25893d33b9c659e3cd151a
2020-09-04 23:56:43 +03:00
Leonid Yuriev
362df3a031
mdbx: workaround for MSVC 19.27 static_assert() bug.
...
Change-Id: Ia143795a57e800bc39e126cd90f34a6abde81ca3
2020-09-01 21:41:52 +03:00
Leonid Yuriev
bf31cca375
mdbx-chk: fix 'differentent' typo.
...
Change-Id: Id56171bdbfe92a589f574a4803beab4abf2d9cdb
2020-09-01 20:54:15 +03:00
Leonid Yuriev
6b1c2ff762
mdbx: fix mdbx_env_open() for re-opening after non-fatal errors.
...
Change-Id: Ibbe9a8e017837a21fe1eeebb86e1b3a7a370e77c
2020-09-01 20:54:15 +03:00