From bdfec14992d5fcac85ce412f2f594730c2cd4481 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?= Date: Fri, 12 Jul 2024 14:55:17 +0300 Subject: [PATCH] =?UTF-8?q?mdbx:=20=D0=B4=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20ChangeLog.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ChangeLog.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/ChangeLog.md b/ChangeLog.md index c003df54..5763b3c8 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -38,6 +38,16 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic использования блокировок, управляемый опцией сборки `MDBX_ENABLE_DBI_LOCKFREE`, которая включена по-умолчанию. +- Поддержка "парковки" читающих транзакций с их вытеснением ради + переработки старых MVCC-снимков и предотвращения проблем вызываемых + приостановкой переработки мусора. Механизм парковки и вытеснения + припаркованных транзакций является как дополнением, так и более простой + в использовании альтернативой обратному вызову + [Handle-Slow-Readers](https://libmdbx.dqdkfa.ru/group__c__err.html#ga2cb11b56414c282fe06dd942ae6cade6). + Для удобства функции `mdbx_txn_park()` и `mdbx_txn_unpack()` имеют + дополнительные аргументы, позволяющие запросить автоматическую + "распарковку" припаркованных и перезапуск вытесненных транзакций. + - Расширение API позиционирования курсоров более удобными и очевидными операциями по аналогии условиям `<`, `<=`, `==`, `>=`, `>` как для ключей, так и для пар ключ-значение. @@ -65,6 +75,9 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic - Функция `mdbx_preopen_snapinfo()` для получения информации о БД без её открытия. + - Функция `mdbx_enumerate_subdb()` для получение информации + об именованных пользовательских таблицах. + - Поддержка функций логирования обратного вызова без функционала `vprintf()`, что существенно облегчает использование логирования в привязках к другим языкам программирования. @@ -75,13 +88,17 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic - Опция `MDBX_opt_prefer_waf_insteadof_balance`. - - Опции `MDBX_opt_subpage_limit`, `MDBX_opt_subpage_room_threshold`, `MDBX_opt_subpage_reserve_prereq`, `MDBX_opt_subpage_reserve_limit`. + - Опции `MDBX_opt_subpage_limit`, `MDBX_opt_subpage_room_threshold`, + `MDBX_opt_subpage_reserve_prereq`, `MDBX_opt_subpage_reserve_limit`. - Управление основной блокировкой lock/unlock/upgrade/downgrade для координации пишущих транзакций. - Функции `mdbx_limits_keysize_min()` и `mdbx_limits_valsize_min()` для получения нижней границы длины ключей и значений. + - Для идентификации БД добавлен UUID доступный в поле `mi_dxbid` структуры `MDBX_envinfo`, + получаемой посредством `mdbx_env_info_ex()`. + - Расширение и доработка C++ API: - добавлен тип `mdbx::cursor::estimation_result`, а поведение методов @@ -97,7 +114,8 @@ and [by Yandex](https://translated.turbopages.org/proxy_u/ru-en.en/https/gitflic - добавлены статические методы `buffer::hex()`, `base64()`, `base58()`; - для транзакций и курсоров добавлены методы `get_/set_context`; - добавлен метод `cursor::clone()`; - - поддержка base58 переработана и приведена в соответствии с черновиком RFC, в текущем понимании теперь это одна из самых высокопроизводительных реализаций; + - поддержка base58 переработана и приведена в соответствии с черновиком RFC, + в текущем понимании теперь это одна из самых высокопроизводительных реализаций base58; - переработка `to_hex()` и `from_hex()`. Нарушение совместимости: