mirror of
https://github.com/isar/libmdbx.git
synced 2025-01-06 18:44: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).
|
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/Уткин,_Владимир_Фёдорович).
|
в день 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)` без предварительной установки
|
- Добавлена возможность использовать `mdbx_cursor_get(MDBX_GET_MULTIPLE)` без предварительной установки
|
||||||
курсора, совмещая операцию пакетного получения данных с позиционированием курсора на передаваемый ключ.
|
курсора, совмещая операцию пакетного получения данных с позиционированием курсора на передаваемый ключ.
|
||||||
|
|
||||||
- Микрооптимизация и рефакториг `cursor_put_nochecklen()` в продолжение исправления
|
- Микрооптимизация и рефакторинг `cursor_put_nochecklen()` в продолжение исправления
|
||||||
регресса/ошибки в пути обработки `put(MDBX_MULTIPLE)`.
|
регресса/ошибки в пути обработки `put(MDBX_MULTIPLE)`.
|
||||||
|
|
||||||
- Уточнение формулировок в описании API, в том числе пояснений о `SIGSEGV`
|
- Уточнение формулировок в описании API, в том числе пояснений о `SIGSEGV`
|
||||||
@ -378,7 +394,7 @@ Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
|
|||||||
|
|
||||||
- Добавлен явный выбор `tls_model("local-dynamic")` для обхода проблемы
|
- Добавлен явный выбор `tls_model("local-dynamic")` для обхода проблемы
|
||||||
`relocation R_X86_64_TPOFF32 against FOO cannot be used with -shared`
|
`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,
|
MDBX_DUPLICATED_CLK = -30413,
|
||||||
|
|
||||||
/* The last of MDBX-added error codes */
|
/* 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)
|
#if defined(_WIN32) || defined(_WIN64)
|
||||||
MDBX_ENODATA = ERROR_HANDLE_EOF,
|
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(thread_mismatch);
|
||||||
MDBX_DECLARE_EXCEPTION(transaction_full);
|
MDBX_DECLARE_EXCEPTION(transaction_full);
|
||||||
MDBX_DECLARE_EXCEPTION(transaction_overlapping);
|
MDBX_DECLARE_EXCEPTION(transaction_overlapping);
|
||||||
|
MDBX_DECLARE_EXCEPTION(duplicated_lck_file);
|
||||||
#undef MDBX_DECLARE_EXCEPTION
|
#undef MDBX_DECLARE_EXCEPTION
|
||||||
|
|
||||||
[[noreturn]] LIBMDBX_API void throw_too_small_target_buffer();
|
[[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?=
|
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>
|
=?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).
|
Subject: [PATCH] package/libmdbx: new package (library/database).
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
@ -15,8 +15,9 @@ This patch adds libmdbx:
|
|||||||
in terms of reliability, features and performance.
|
in terms of reliability, features and performance.
|
||||||
- https://gitflic.ru/project/erthink/libmdbx
|
- https://gitflic.ru/project/erthink/libmdbx
|
||||||
|
|
||||||
The v0.12.5 "Dynamo" is stable release of frontward _libmdbx_ branch with new superior features
|
The v0.12.8 "Vladimir Utkin" is stable release of frontward _libmdbx_
|
||||||
on the day of 100 anniversary of USSR' «Dynamo» sports and fitness society.
|
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
|
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
|
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
||||||
diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash
|
diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..7a5b19952e
|
index 0000000000..82cf28d6a9
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/package/libmdbx/libmdbx.hash
|
+++ b/package/libmdbx/libmdbx.hash
|
||||||
@@ -0,0 +1,5 @@
|
@@ -0,0 +1,5 @@
|
||||||
+# Hashes from: https://libmdbx.dqdkfa.ru/release/SHA256SUMS
|
+# 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
|
+# Locally calculated
|
||||||
+sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE
|
+sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE
|
||||||
diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk
|
diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000..9a196eda60
|
index 0000000000..d198fe5b22
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/package/libmdbx/libmdbx.mk
|
+++ b/package/libmdbx/libmdbx.mk
|
||||||
@@ -0,0 +1,42 @@
|
@@ -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_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.xz
|
||||||
+LIBMDBX_SITE = https://libmdbx.dqdkfa.ru/release
|
+LIBMDBX_SITE = https://libmdbx.dqdkfa.ru/release
|
||||||
+LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO
|
+LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||||
@ -169,5 +170,5 @@ index 0000000000..9a196eda60
|
|||||||
+
|
+
|
||||||
+$(eval $(cmake-package))
|
+$(eval $(cmake-package))
|
||||||
--
|
--
|
||||||
2.34.1
|
2.42.0
|
||||||
|
|
||||||
|
24
src/core.c
24
src/core.c
@ -23066,30 +23066,6 @@ bailout:
|
|||||||
return rc;
|
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,
|
__cold int mdbx_reader_list(const MDBX_env *env, MDBX_reader_list_func *func,
|
||||||
void *ctx) {
|
void *ctx) {
|
||||||
int rc = check_env(env, true);
|
int rc = check_env(env, true);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
.\" Copyright 2015-2023 Leonid Yuriev <leo@yuriev.ru>.
|
.\" Copyright 2015-2023 Leonid Yuriev <leo@yuriev.ru>.
|
||||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
.\" 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
|
.SH NAME
|
||||||
mdbx_chk \- MDBX checking tool
|
mdbx_chk \- MDBX checking tool
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
.\" 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
|
.SH NAME
|
||||||
mdbx_copy \- MDBX environment copy tool
|
mdbx_copy \- MDBX environment copy tool
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
.\" Copyright 2021-2023 Leonid Yuriev <leo@yuriev.ru>.
|
.\" Copyright 2021-2023 Leonid Yuriev <leo@yuriev.ru>.
|
||||||
.\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved.
|
.\" Copyright 2014-2021 Howard Chu, Symas Corp. All Rights Reserved.
|
||||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
.\" 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
|
.SH NAME
|
||||||
mdbx_drop \- MDBX database delete tool
|
mdbx_drop \- MDBX database delete tool
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
.\" 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
|
.SH NAME
|
||||||
mdbx_dump \- MDBX environment export tool
|
mdbx_dump \- MDBX environment export tool
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||||
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
.\" Copyright 2014-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
.\" 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
|
.SH NAME
|
||||||
mdbx_load \- MDBX environment import tool
|
mdbx_load \- MDBX environment import tool
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
||||||
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
||||||
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
.\" 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
|
.SH NAME
|
||||||
mdbx_stat \- MDBX environment status tool
|
mdbx_stat \- MDBX environment status tool
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
|
@ -285,7 +285,7 @@ DEFINE_EXCEPTION(something_busy)
|
|||||||
DEFINE_EXCEPTION(thread_mismatch)
|
DEFINE_EXCEPTION(thread_mismatch)
|
||||||
DEFINE_EXCEPTION(transaction_full)
|
DEFINE_EXCEPTION(transaction_full)
|
||||||
DEFINE_EXCEPTION(transaction_overlapping)
|
DEFINE_EXCEPTION(transaction_overlapping)
|
||||||
|
DEFINE_EXCEPTION(duplicated_lck_file)
|
||||||
#undef DEFINE_EXCEPTION
|
#undef DEFINE_EXCEPTION
|
||||||
|
|
||||||
__cold const char *error::what() const noexcept {
|
__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(thread_mismatch, MDBX_THREAD_MISMATCH);
|
||||||
CASE_EXCEPTION(transaction_full, MDBX_TXN_FULL);
|
CASE_EXCEPTION(transaction_full, MDBX_TXN_FULL);
|
||||||
CASE_EXCEPTION(transaction_overlapping, MDBX_TXN_OVERLAPPING);
|
CASE_EXCEPTION(transaction_overlapping, MDBX_TXN_OVERLAPPING);
|
||||||
|
CASE_EXCEPTION(duplicated_lck_file, MDBX_DUPLICATED_CLK);
|
||||||
#undef CASE_EXCEPTION
|
#undef CASE_EXCEPTION
|
||||||
default:
|
default:
|
||||||
if (is_mdbx_error())
|
if (is_mdbx_error())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user