mdbx++: Initial C++ API (some extra methods are not implemented).

Change-Id: I0478d0c94dcd12b52916e87815e5731817407c3c
This commit is contained in:
Leonid Yuriev
2020-08-22 20:19:46 +03:00
parent e3f0db7708
commit 88a4b8cb9b
22 changed files with 4507 additions and 168 deletions

View File

@@ -80,7 +80,7 @@ const char *keygencase2str(const keygen_case keycase) {
int testcase::oom_callback(MDBX_env *env, mdbx_pid_t pid, mdbx_tid_t tid,
uint64_t txn, unsigned gap, size_t space,
int retry) {
int retry) cxx17_noexcept {
testcase *self = (testcase *)mdbx_env_get_userctx(env);
@@ -530,7 +530,8 @@ void testcase::db_table_close(MDBX_dbi handle) {
void testcase::checkdata(const char *step, MDBX_dbi handle, MDBX_val key2check,
MDBX_val expected_valued) {
MDBX_val actual_value = expected_valued;
int rc = mdbx_get_nearest(txn_guard.get(), handle, &key2check, &actual_value);
int rc = mdbx_get_equal_or_great(txn_guard.get(), handle, &key2check,
&actual_value);
if (unlikely(rc != MDBX_SUCCESS))
failure_perror(step, rc);
if (!is_samedata(&actual_value, &expected_valued))