mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-02 00:24:13 +08:00
mdbx: merge branch master
into devel
.
This commit is contained in:
commit
42ef1dcd39
24
ChangeLog.md
24
ChangeLog.md
@ -5,13 +5,29 @@ English version [by Google](https://gitflic-ru.translate.goog/project/erthink/li
|
||||
and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md).
|
||||
|
||||
|
||||
## v0.12.8 "Владимир Уткин" (запланировано на 2023-10-17)
|
||||
## v0.12.8 (сопровождение и подготовка к релизу)
|
||||
|
||||
Поддержка стабильной ветки.
|
||||
|
||||
Мелочи:
|
||||
|
||||
- Удаление устаревших `mdbx_set_compare()` и `mdbx_set_dupsort()`.
|
||||
- Корректировка определения `MDBX_LAST_ADDED_ERRCODE`.
|
||||
- Добавление в C++ API забытого исключения `mdbx::duplicated_lck_file`.
|
||||
- Обновление патча для старых версий buildroot.
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
## v0.12.8 "Владимир Уткин" от 2023-10-17
|
||||
|
||||
Стабилизирующий выпуск с исправлением обнаруженных ошибок и устранением недочетов,
|
||||
в день 100-летия со дня рождения выдающегося советского и российского ученого и конструктора [Влади́мира Фёдоровича У́ткина](https://ru.wikipedia.org/wiki/Уткин,_Владимир_Фёдорович).
|
||||
|
||||
```
|
||||
git diff' stat: 22 commits, 570 insertions(+), 58 deletions(-)
|
||||
git diff' stat: 24 commits, 18 files changed, 624 insertions(+), 94 deletions(-)
|
||||
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
|
||||
```
|
||||
|
||||
Благодарности:
|
||||
@ -34,7 +50,7 @@ git diff' stat: 22 commits, 570 insertions(+), 58 deletions(-)
|
||||
- Добавлена возможность использовать `mdbx_cursor_get(MDBX_GET_MULTIPLE)` без предварительной установки
|
||||
курсора, совмещая операцию пакетного получения данных с позиционированием курсора на передаваемый ключ.
|
||||
|
||||
- Микрооптимизация и рефакториг `cursor_put_nochecklen()` в продолжение исправления
|
||||
- Микрооптимизация и рефакторинг `cursor_put_nochecklen()` в продолжение исправления
|
||||
регресса/ошибки в пути обработки `put(MDBX_MULTIPLE)`.
|
||||
|
||||
- Уточнение формулировок в описании API, в том числе пояснений о `SIGSEGV`
|
||||
@ -378,7 +394,7 @@ Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
|
||||
|
||||
- Добавлен явный выбор `tls_model("local-dynamic")` для обхода проблемы
|
||||
`relocation R_X86_64_TPOFF32 against FOO cannot be used with -shared`
|
||||
из-за ошибки в CLANG приводящей к использованию неверного режима `ls_model`.
|
||||
из-за ошибки в CLANG приводящей к использованию неверного режима `tls_model`.
|
||||
|
||||
- Изменение тактики слияния страниц при удалении.
|
||||
Теперь слияние выполняется преимущественно с уже измененной/грязной страницей.
|
||||
|
2
mdbx.h
2
mdbx.h
@ -1937,7 +1937,7 @@ enum MDBX_error_t {
|
||||
MDBX_DUPLICATED_CLK = -30413,
|
||||
|
||||
/* The last of MDBX-added error codes */
|
||||
MDBX_LAST_ADDED_ERRCODE = MDBX_TXN_OVERLAPPING,
|
||||
MDBX_LAST_ADDED_ERRCODE = MDBX_DUPLICATED_CLK,
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
MDBX_ENODATA = ERROR_HANDLE_EOF,
|
||||
|
1
mdbx.h++
1
mdbx.h++
@ -558,6 +558,7 @@ MDBX_DECLARE_EXCEPTION(something_busy);
|
||||
MDBX_DECLARE_EXCEPTION(thread_mismatch);
|
||||
MDBX_DECLARE_EXCEPTION(transaction_full);
|
||||
MDBX_DECLARE_EXCEPTION(transaction_overlapping);
|
||||
MDBX_DECLARE_EXCEPTION(duplicated_lck_file);
|
||||
#undef MDBX_DECLARE_EXCEPTION
|
||||
|
||||
[[noreturn]] LIBMDBX_API void throw_too_small_target_buffer();
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 790cbdc02c2597650964a564e05fbb5af503adc9 Mon Sep 17 00:00:00 2001
|
||||
From 3efdf07a80f750c23de126ac80e78fb0545a1b63 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?=D0=9B=D0=B5=D0=BE=D0=BD=D0=B8=D0=B4=20=D0=AE=D1=80=D1=8C?=
|
||||
=?UTF-8?q?=D0=B5=D0=B2=20=28Leonid=20Yuriev=29?= <leo@yuriev.ru>
|
||||
Date: Wed, 19 Apr 2023 13:34:37 +0300
|
||||
Date: Mon, 23 Oct 2023 18:07:13 +0300
|
||||
Subject: [PATCH] package/libmdbx: new package (library/database).
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
@ -15,8 +15,9 @@ This patch adds libmdbx:
|
||||
in terms of reliability, features and performance.
|
||||
- https://gitflic.ru/project/erthink/libmdbx
|
||||
|
||||
The v0.12.5 "Dynamo" is stable release of frontward _libmdbx_ branch with new superior features
|
||||
on the day of 100 anniversary of USSR' «Dynamo» sports and fitness society.
|
||||
The v0.12.8 "Vladimir Utkin" is stable release of frontward _libmdbx_
|
||||
branch with new superior features on the day of 100 anniversary of the birth
|
||||
of the outstanding Soviet and Russian scientist and engineer Vladimir Fedorovich Utkin.
|
||||
|
||||
The complete ChangeLog: https://gitflic.ru/project/erthink/libmdbx/blob?file=ChangeLog.md
|
||||
|
||||
@ -111,18 +112,18 @@ index 0000000000..a9a4ac45c5
|
||||
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
||||
diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash
|
||||
new file mode 100644
|
||||
index 0000000000..7a5b19952e
|
||||
index 0000000000..82cf28d6a9
|
||||
--- /dev/null
|
||||
+++ b/package/libmdbx/libmdbx.hash
|
||||
@@ -0,0 +1,5 @@
|
||||
+# Hashes from: https://libmdbx.dqdkfa.ru/release/SHA256SUMS
|
||||
+sha256 9c3abaaf9079a9518bb7155734817a2e286fffea46f7cc0825dfbd1cf9174075 libmdbx-amalgamated-0.12.5.tar.xz
|
||||
+sha256 c78c56c53708bbfc519bf53ebf520d1f09d30ee6427a4bedf713316696e671d0 libmdbx-amalgamated-0.12.8.tar.xz
|
||||
+
|
||||
+# Locally calculated
|
||||
+sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE
|
||||
diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk
|
||||
new file mode 100644
|
||||
index 0000000000..9a196eda60
|
||||
index 0000000000..d198fe5b22
|
||||
--- /dev/null
|
||||
+++ b/package/libmdbx/libmdbx.mk
|
||||
@@ -0,0 +1,42 @@
|
||||
@ -132,7 +133,7 @@ index 0000000000..9a196eda60
|
||||
+#
|
||||
+################################################################################
|
||||
+
|
||||
+LIBMDBX_VERSION = 0.12.5
|
||||
+LIBMDBX_VERSION = 0.12.8
|
||||
+LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.xz
|
||||
+LIBMDBX_SITE = https://libmdbx.dqdkfa.ru/release
|
||||
+LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||
@ -169,5 +170,5 @@ index 0000000000..9a196eda60
|
||||
+
|
||||
+$(eval $(cmake-package))
|
||||
--
|
||||
2.34.1
|
||||
2.42.0
|
||||
|
||||
|
24
src/core.c
24
src/core.c
@ -23066,30 +23066,6 @@ bailout:
|
||||
return rc;
|
||||
}
|
||||
|
||||
int mdbx_set_compare(MDBX_txn *txn, MDBX_dbi dbi, MDBX_cmp_func *cmp) {
|
||||
int rc = check_txn(txn, MDBX_TXN_BLOCKED - MDBX_TXN_ERROR);
|
||||
if (unlikely(rc != MDBX_SUCCESS))
|
||||
return rc;
|
||||
|
||||
if (unlikely(!check_dbi(txn, dbi, DBI_USRVALID)))
|
||||
return MDBX_BAD_DBI;
|
||||
|
||||
txn->mt_dbxs[dbi].md_cmp = cmp;
|
||||
return MDBX_SUCCESS;
|
||||
}
|
||||
|
||||
int mdbx_set_dupsort(MDBX_txn *txn, MDBX_dbi dbi, MDBX_cmp_func *cmp) {
|
||||
int rc = check_txn(txn, MDBX_TXN_BLOCKED - MDBX_TXN_ERROR);
|
||||
if (unlikely(rc != MDBX_SUCCESS))
|
||||
return rc;
|
||||
|
||||
if (unlikely(!check_dbi(txn, dbi, DBI_USRVALID)))
|
||||
return MDBX_BAD_DBI;
|
||||
|
||||
txn->mt_dbxs[dbi].md_dcmp = cmp;
|
||||
return MDBX_SUCCESS;
|
||||
}
|
||||
|
||||
__cold int mdbx_reader_list(const MDBX_env *env, MDBX_reader_list_func *func,
|
||||
void *ctx) {
|
||||
int rc = check_env(env, true);
|
||||
|
@ -1,6 +1,6 @@
|
||||
.\" Copyright 2015-2023 Leonid Yuriev <leo@yuriev.ru>.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_CHK 1 "2023-06-16" "MDBX 0.12.7"
|
||||
.TH MDBX_CHK 1 "2023-10-17" "MDBX 0.12.8"
|
||||
.SH NAME
|
||||
mdbx_chk \- MDBX checking tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_COPY 1 "2023-06-16" "MDBX 0.12.7"
|
||||
.TH MDBX_COPY 1 "2023-10-17" "MDBX 0.12.8"
|
||||
.SH NAME
|
||||
mdbx_copy \- MDBX environment copy tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -1,7 +1,7 @@
|
||||
.\" Copyright 2021-2023 Leonid Yuriev <leo@yuriev.ru>.
|
||||
.\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_DROP 1 "2023-06-16" "MDBX 0.12.7"
|
||||
.TH MDBX_DROP 1 "2023-10-17" "MDBX 0.12.8"
|
||||
.SH NAME
|
||||
mdbx_drop \- MDBX database delete tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_DUMP 1 "2023-06-16" "MDBX 0.12.7"
|
||||
.TH MDBX_DUMP 1 "2023-10-17" "MDBX 0.12.8"
|
||||
.SH NAME
|
||||
mdbx_dump \- MDBX environment export tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_LOAD 1 "2023-06-16" "MDBX 0.12.7"
|
||||
.TH MDBX_LOAD 1 "2023-10-17" "MDBX 0.12.8"
|
||||
.SH NAME
|
||||
mdbx_load \- MDBX environment import tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -2,7 +2,7 @@
|
||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
||||
.TH MDBX_STAT 1 "2023-06-16" "MDBX 0.12.7"
|
||||
.TH MDBX_STAT 1 "2023-10-17" "MDBX 0.12.8"
|
||||
.SH NAME
|
||||
mdbx_stat \- MDBX environment status tool
|
||||
.SH SYNOPSIS
|
||||
|
@ -285,7 +285,7 @@ DEFINE_EXCEPTION(something_busy)
|
||||
DEFINE_EXCEPTION(thread_mismatch)
|
||||
DEFINE_EXCEPTION(transaction_full)
|
||||
DEFINE_EXCEPTION(transaction_overlapping)
|
||||
|
||||
DEFINE_EXCEPTION(duplicated_lck_file)
|
||||
#undef DEFINE_EXCEPTION
|
||||
|
||||
__cold const char *error::what() const noexcept {
|
||||
@ -371,6 +371,7 @@ __cold void error::throw_exception() const {
|
||||
CASE_EXCEPTION(thread_mismatch, MDBX_THREAD_MISMATCH);
|
||||
CASE_EXCEPTION(transaction_full, MDBX_TXN_FULL);
|
||||
CASE_EXCEPTION(transaction_overlapping, MDBX_TXN_OVERLAPPING);
|
||||
CASE_EXCEPTION(duplicated_lck_file, MDBX_DUPLICATED_CLK);
|
||||
#undef CASE_EXCEPTION
|
||||
default:
|
||||
if (is_mdbx_error())
|
||||
|
Loading…
x
Reference in New Issue
Block a user