282 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
bd45668fee mdbx: merge branch master into stable. 2025-01-12 22:08:00 +03:00
Леонид Юрьев (Leonid Yuriev)
92e2b6287e
mdbx: выпуск 0.13.3 "Королёв" (Korolev).
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов
в день рождения и в память об [Серге́е Па́вловиче Королёве](https://ru.wikipedia.org/wiki/Королёв,_Сергей_Павлович),
советском учёном и Главном конструкторе ракетно-космических систем.

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 67 files changed, 3514 insertions(+), 3004 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2025-01-12 16:27:02 +03:00
Леонид Юрьев (Leonid Yuriev)
dcc8708d6a mdbx: дополнение ChangeLog (запланирован выпуск v0.13.3). 2025-01-11 02:35:48 +03:00
Леонид Юрьев (Leonid Yuriev)
5350ed8a3b mdbx: дополнение ChangeLog. 2025-01-04 11:54:11 +03:00
Леонид Юрьев (Leonid Yuriev)
5ff5080935 mdbx: дополнение ChangeLog. 2024-12-28 09:52:19 +03:00
Леонид Юрьев (Leonid Yuriev)
98b28213ce mdbx: корректировка ChangeLog. 2024-12-22 18:30:58 +03:00
Леонид Юрьев (Leonid Yuriev)
00c5bbcc5e mdbx: дополнение ChangeLog. 2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
0d1c08677d mdbx: корректировка ChangeLog. 2024-12-18 13:01:52 +03:00
Леонид Юрьев (Leonid Yuriev)
e43cf69a0c mdbx-doc: изменение базы ссылок online-перевода с gitflic.ru на libmdbx.dqdkfa.ru. 2024-12-18 12:27:37 +03:00
Леонид Юрьев (Leonid Yuriev)
5a9eea8acc mdbx: дополнение ChangeLog. 2024-12-18 01:21:00 +03:00
Леонид Юрьев (Leonid Yuriev)
b687e835e9
mdbx: выпуск 0.13.2 "Прошлогодний Снег" (Last Year's Snow).
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов
в день рождения и в память об [Алекса́ндре Миха́йловиче Тата́рском](https://ru.wikipedia.org/wiki/Татарский,_Александр_Михайлович),
российском режиссёре-мультипликаторе, создавшем такие знаменитые мультфильмы как "Падал прошлогодний снег",
"Пластилиновая ворона", заставку "Спокойной ночи, малыши!" и многие другие шедевры нашего детства.

За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 151 files changed, 10647 insertions(+), 14952 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2024-12-11 21:51:56 +03:00
Леонид Юрьев (Leonid Yuriev)
fe627ed2f2 mdbx: дополнение ChangeLog. 2024-12-08 09:33:08 +03:00
Леонид Юрьев (Leonid Yuriev)
367a118a8f mdbx: дополнение ChangeLog. 2024-12-03 00:23:37 +03:00
Леонид Юрьев (Leonid Yuriev)
5327f42465 mdbx: дополнение ChangeLog. 2024-11-28 20:07:27 +03:00
Леонид Юрьев (Leonid Yuriev)
9d79d2ba95 mdbx: дополнение ChangeLog. 2024-11-27 21:17:49 +03:00
Леонид Юрьев (Leonid Yuriev)
3110c2206f mdbx: дополнение ChangeLog. 2024-11-23 01:12:55 +03:00
Леонид Юрьев (Leonid Yuriev)
47f96b6afa mdbx: дополнение ChangeLog. 2024-11-15 15:58:48 +03:00
Леонид Юрьев (Leonid Yuriev)
10a93f4b9f mdbx: дополнение ChangeLog. 2024-11-07 11:40:16 +03:00
Леонид Юрьев (Leonid Yuriev)
ca8e9fe7b1 mdbx-testing: переименование скрипта stochastic.sh 2024-11-07 09:32:27 +03:00
Леонид Юрьев (Leonid Yuriev)
dc6f29a046 mdbx: импорт дополнений ChangeLog из ветки stable. 2024-10-27 23:00:34 +03:00
Леонид Юрьев (Leonid Yuriev)
b16c2570f0
mdbx: выпуск 0.12.12 "Доллежаль".
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов,
в память о советском ученом-энергетике Николае Антоновиче Доллежаль в день 125-летия со дня его рождения.

Это последний выпуск куста стабильных версий 0.12.x, спустя более двух
лет после выпуска 0.12.1. Последующие выпуски 0.12.x будут формироваться
только в случае существенных проблем/ошибок, вероятность чего близка к
нулю. Для всех проектов находящихся в стадии активной разраборки
рекомендуется использовать ветку `master`.

Значимые исправления:
---------------------

 - Исправление упущенного `TXN_END_EOTDONE` при сбое старта читающей транзакции.
   Упомянутый флажок отсутствовал в пути разрушения транзакции при ошибке
   её запуска. Из-за чего делалась попытка разрушить курсоры, что приводило
   к падению **отладочных сборок**, так как в них соответствующий массив
   намеренно заполнен некорректными указателями.

 - Устранение возможности `SIGSEGV` внутри `coherency_check()` после
   изменения геометрии другим процессом с увеличением верхнего размера БД
   и увеличением БД больше предыдущего лимита.

 - Доработка `mdbx_close_dbi()` для возврата ошибки при попытке закрыть
   dbi-дескриптор таблицы, созданной и/или измененной в ещё выполняющейся
   транзакции. Такое преждевременное закрытие дескриптора является неверным
   использованием API и нарушением контракта/предусловий сформулированных
   в описании `mdbx_close_dbi()`. Однако, вместо возврата ошибки
   выполнялось некорректное закрытие дескриптора, что могло приводить к
   созданию таблицы с пустым именем, утечки страниц БД и/или нарушению
   структуры b-tree (неверной ссылкой на корень таблицы).
   Добавлен соответствующий тест `extra/early_close_dbi`.

Более подробная информация и история предыдущих выпусков доступна в [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 6 commits, 5 files changed, 239 insertions(+), 6 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2024-10-27 11:07:49 +03:00
Леонид Юрьев (Leonid Yuriev)
b8f9b8659c mdbx: дополнение ChangeLog. 2024-10-26 23:23:17 +03:00
Леонид Юрьев (Leonid Yuriev)
ac8402283f mdbx-testing: добавление extra/early_close_dbi (backport). 2024-10-26 23:10:56 +03:00
Леонид Юрьев (Leonid Yuriev)
945899e4fd mdbx: доработка mdbx_close_dbi() для возврата ошибки при попытке закрыть dbi-хендл измененной в транзакции таблицы (backport). 2024-10-26 23:01:37 +03:00
Леонид Юрьев (Leonid Yuriev)
d40e4db13a mdbx: дополнение ChangeLog. 2024-10-08 18:14:15 +03:00
Леонид Юрьев (Leonid Yuriev)
42ca4edec8 mdbx: дополнение ChangeLog. 2024-09-18 21:25:10 +03:00
Леонид Юрьев (Leonid Yuriev)
2e14404837 mdbx: дополнение ChangeLog. 2024-09-10 08:49:16 +03:00
Леонид Юрьев (Leonid Yuriev)
5fc7a6b107
mdbx: выпуск 0.13.1 "РДС-1"
Новая версия со сменой лицензии, существенным расширением API,
добавлением функционала и внутренними переработками. В том числе,
с незначительным нарушением обратной совместимости API библиотеки.

Список нововведений, доработок и изменений слишком велик для размещения
здесь, но вся информация есть в файле
[ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

```
git diff' stat: 157 files changed, 41949 insertions(+), 33741 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
```
2024-08-30 00:01:07 +03:00
Леонид Юрьев (Leonid Yuriev)
2c17c7b149 mdbx: дополнение ChangeLog. 2024-08-22 00:09:52 +03:00
Леонид Юрьев (Leonid Yuriev)
8cc5e8c262 mdbx: дополнение ChangeLog. 2024-08-08 00:17:09 +03:00
Леонид Юрьев (Leonid Yuriev)
497aabcb2e mdbx: устранение возможности SIGSEGV внутри coherency_check() (backport).
Падение происходило в случае когда:

 - Некоторый процесс увеличивал размер БД с изменением геометрии (с
   увеличением предельного размера БД и её отображения в ОЗУ), затем
   задействовал страницу из добавленного сегмента в качестве корневой для
   FreeDB/GC и/или MainDB и фиксировал транзакцию.

 - Другой процесс, уже работавший с БД до изменения геометрии первым
   процессом, запускал транзакцию чтения. Падение происходило при проверке
   «когерентности» отображения страниц БД в ОЗУ, при проверке отметок
   модификации внутри корневых страниц, так как в этом случае они были вне
   границ текущего отображения БД в адресном пространстве этого процесса.

 Похоже что в ходе какого-то рефакторинга потерялась соответствующая
 проверка. Этот коммит добавляет такую проверку.
2024-08-07 21:22:57 +03:00
Леонид Юрьев (Leonid Yuriev)
cf6d441e1b mdbx: исправление упущенного TXN_END_EOTDONE при сбое старта читающей транзакции (backport).
Упомянутый флажок отсутствовал в пути разрушения транзакции при ошибке
её запуска. Из-за чего делалась попытка разрушить курсоры, что приводило
к падению отладочных сборок, так как в них соответствующий массив
намеренно заполнен некорректными указателями.
2024-08-07 19:29:57 +03:00
Леонид Юрьев (Leonid Yuriev)
7bff3b3df6 mdbx: корректировка имен и ссылок в ChangeLog. 2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
57e558a57d mdbx: использование термина "таблица" вместо "sub-database". 2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
dd0ee3f278 mdbx: дополнение ChangeLog. 2024-08-03 00:30:06 +03:00
Леонид Юрьев (Leonid Yuriev)
485d6d1f50 mdbx: корректировка/актуализация ChangeLog для v0.13.x 2024-07-23 16:15:05 +03:00
Леонид Юрьев (Leonid Yuriev)
ad0ba7a661 mdbx: добавление секции о v0.12.11 в ChangeLog. 2024-07-23 14:20:57 +03:00
Леонид Юрьев (Leonid Yuriev)
a6a7a291c7
mdbx: выпуск 0.12.11 "Лиза и Соня"
Поддерживающий выпуск с исправлением обнаруженных ошибок и устранением недочетов,
в память об убитых в Крыму девочках 2 и 9 лет.

Лиза и Соня погибли 23 Июня 2024 на глазах у родителей, в результате
удара по общественному городскому пляжу ракетами ATACMS с кассетными
боеприпасами. Всего пострадало более 150 граждан России, в том числе 27
детей. Ракеты были выпущенными украинскими бандеровцами/фашистами, но
полетные задания формировались и загружались военными США, а управление
и наведение ATACAMS невозможно без использования орбитальной группировки
военных спутников США.

Основные исправления:
---------------------

 - Исправление для ОС Windows нарезки `FILE_SEGMENT_ELEMENT`.
   Похоже что был потерян коммит входе работы над оптимизацией пути записи
   на диск в ОС Windows. В текущем понимании, вероятность проявления ошибки
   достаточно низкая, так как выявлена она была синтетическими тестами в
   ходе других доработок, а соответствующих сообщений/жалоб не поступало. К
   повреждению БД ошибка не приводила, так как сбой происходил до записи
   данных с возвратом `ERROR_INVALID_PARAMETER` из системного вызова, т.е.
   либо ошибка не проявлялась, либо транзакция не фиксировалась.

 - Устранение вероятности `SIGSEGV` при включении логирования
   уровня `MDBX_LOG_TRACE` в отладочных сборках.

 - Исправление генерации исключения `key_exists` в C++ API.

 - Исправление обработки курсоров, открытых в родительских транзакциях и
   закрытых до завершения вложенных транзакций. В описанной ситуации
   закрытые курсоры "воскрешались", что приводило к утечке памяти
   выделенной под такие курсоры.

 - Костыль для MSVC ARM/ARM64 для предотвращения ICE (Internal Compiler Error).

 - Устранение `MDBX_EINVAL` для случая вызова `mdbx_env_remove(".")`.

 - Исправление инверсии bool-результата `env::remove()`в C++ API.

Более подробная информация в [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html).

git diff' stat: 29 commits, 14 files changed, 379 insertions(+), 151 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2024-07-23 13:14:14 +03:00
Леонид Юрьев (Leonid Yuriev)
a8ef8d7b72 mdbx: обновление ChangeLog. 2024-07-22 17:46:55 +03:00
Леонид Юрьев (Leonid Yuriev)
6941ec17bc mdbx: обновление ChangeLog. 2024-07-20 16:43:45 +03:00
Леонид Юрьев (Leonid Yuriev)
8a04337e79 mdbx: корректировка ChangeLog. 2024-07-13 16:15:21 +03:00
Леонид Юрьев (Leonid Yuriev)
bdfec14992 mdbx: дополнение ChangeLog. 2024-07-12 14:55:17 +03:00
Леонид Юрьев (Leonid Yuriev)
f65642e38c mdbx: обновление ChangeLog. 2024-06-19 14:18:18 +03:00
Леонид Юрьев (Leonid Yuriev)
7c69493473 mdbx: добавление MDBX_opt_prefer_waf_insteadof_balance. 2024-04-05 00:19:08 +03:00
Леонид Юрьев (Leonid Yuriev)
e34d4de760 mdbx: дополнение ChangeLog. 2024-04-04 15:00:27 +03:00
Леонид Юрьев (Leonid Yuriev)
5721296e16 mdbx: опечатки и орфография в ChangeLog. 2024-03-28 11:37:23 +03:00
Леонид Юрьев (Leonid Yuriev)
31e8f290e7 mdbx: опечатки и орфография в ChangeLog. 2024-03-28 11:35:32 +03:00
Леонид Юрьев (Leonid Yuriev)
20d6d39ab3 mdbx: обновление ChangeLog. 2024-03-21 11:44:25 +03:00
Леонид Юрьев (Leonid Yuriev)
5fc3965f5b
mdbx: вливание ветки master в devel. 2024-03-21 01:54:20 +03:00
Леонид Юрьев (Leonid Yuriev)
3865e85248 mdbx: орфоргафия. 2024-03-16 20:45:35 +03:00