Леонид Юрьев (Leonid Yuriev)
06dd50580c
mdbx: корректировка API-макросов для Doxygen.
2024-10-22 22:45:29 +03:00
Леонид Юрьев (Leonid Yuriev)
bfce1cd24d
mdbx: использование __has_c_attribute()
и __has_cxx_attribute()
, добавление __has_C23_or_CXX_attribute()
.
2024-10-10 06:16:49 +03:00
Леонид Юрьев (Leonid Yuriev)
22233b0991
mdbx: перемещение MDBX_NORETURN
в прототипах assert-failed для нового clang.
2024-10-10 06:15:17 +03:00
Леонид Юрьев (Leonid Yuriev)
d2b74e4da5
mdbx-cmake: включение стандарта C23
.
2024-10-10 06:15:17 +03:00
Леонид Юрьев (Leonid Yuriev)
d40e4db13a
mdbx: дополнение ChangeLog.
2024-10-08 18:14:15 +03:00
Леонид Юрьев (Leonid Yuriev)
57848b1d2d
mdbx-testing: добавление логирования С++ исключений в extra/dupfix_multiple
.
2024-10-08 18:13:29 +03:00
Леонид Юрьев (Leonid Yuriev)
ca2dbf0933
mdbx-testing: уменьшение кол-ва итераций extra/crunched-delete
для CI.
2024-10-08 18:11:16 +03:00
Леонид Юрьев (Leonid Yuriev)
ecf862a4f6
mdbx: доработка osal_jitter()
для уменьшения задержек в тестах под Windows.
2024-10-08 18:11:16 +03:00
Leonid Yuriev
bf58ec59f5
mdbx: допущение 4-байтового выравнивания данных MDBX_MULTIPLE
для 32-битных сборок.
...
На 32-битных платформах элементы массивов 64-битных типов могут быть
выравнены на 4-байтовую границу. Из-за этого `mdbx_put(MDBX_MULTIPLE)`
могла возвращать ошибку `MDBX_BAD_VALSIZE`, считая что переданные
пользователем данные не выровнены.
2024-10-08 18:11:12 +03:00
Leonid Yuriev
486fb3c36d
mdbx-testing: исправление максимальной длины значений в extra/crunched-delete
.
2024-10-08 00:06:13 +03:00
Леонид Юрьев (Leonid Yuriev)
ce579bcb8e
mdbx-testing: добавление extra/open
.
2024-10-07 09:12:07 +03:00
Леонид Юрьев (Leonid Yuriev)
b11998de01
mdbx-cmake: добавление dll-костыля для Windows для работы исключений в тестах на C++.
2024-10-07 09:09:35 +03:00
Леонид Юрьев (Leonid Yuriev)
54dfc1f16d
mdbx-testing: унификация extra-тестов и интеграция в ctest.
2024-10-07 09:05:08 +03:00
Леонид Юрьев (Leonid Yuriev)
0178d5b5c8
mdbx-testing: уменьшение кол-ва итераций extra/crunched_delete
для Windows.
...
До этих изменений тесты на CI могли длиться несколько часов и завершаться по таймауту, что неприемлемо.
2024-10-07 09:05:08 +03:00
Леонид Юрьев (Leonid Yuriev)
9fa76a56fc
mdbx: добавление #ifdef
для iPhone.
2024-09-28 08:22:14 +03:00
Леонид Юрьев (Leonid Yuriev)
42ca4edec8
mdbx: дополнение ChangeLog.
2024-09-18 21:25:10 +03:00
Леонид Юрьев (Leonid Yuriev)
c96714423d
mdbx-cmake: использование WIN32
вместо ${CMAKE_SYSTEM_NAME}
.
2024-09-18 21:19:27 +03:00
Леонид Юрьев (Leonid Yuriev)
c964523978
mdbx-testing: добавление get_multiple_samelength()
в extra/dupfix_multiple
.
2024-09-18 21:19:27 +03:00
Леонид Юрьев (Leonid Yuriev)
ec41ec1561
mdbx++: добавление mdbx::cursor::get_multiple_samelength()
.
2024-09-18 21:19:27 +03:00
Леонид Юрьев (Leonid Yuriev)
07309427fd
mdbx++: переименование mdbx::txn::put_multiple_samelength()
.
2024-09-18 21:19:27 +03:00
Леонид Юрьев (Leonid Yuriev)
f738552721
mdbx: возвращение ключа при MDBX_GET_MULTIPLE
для единообразия C++ API.
2024-09-18 21:19:27 +03:00
Леонид Юрьев (Leonid Yuriev)
29d0a96818
mdbx: исправление условия внутри assert()
в пути обработки MDBX_GET/NEXT/PREV_MULTIPLE
.
2024-09-18 21:14:43 +03:00
Леонид Юрьев (Leonid Yuriev)
202cdbc4be
mdbx-testing: подавление параноидальных предупреждений MSVC в extra-тестах.
2024-09-14 20:33:35 +03:00
Леонид Юрьев (Leonid Yuriev)
14a55ee244
mdbx++: подавление параноидального предупреждения MSVC.
2024-09-14 20:33:35 +03:00
Леонид Юрьев (Leonid Yuriev)
74f7d13455
mdbx: дополнение отладочного логирования внутри dxb_resize()
.
2024-09-14 20:33:35 +03:00
Леонид Юрьев (Leonid Yuriev)
2e14404837
mdbx: дополнение ChangeLog.
2024-09-10 08:49:16 +03:00
Леонид Юрьев (Leonid Yuriev)
81807f16b2
mdbx: корректировка README.
2024-09-10 08:47:24 +03:00
Леонид Юрьев (Leonid Yuriev)
b36e3702e5
mdbx-doc: продолжение s/subDb/таблица/ в С++ API.
2024-09-09 09:22:50 +03:00
Леонид Юрьев (Leonid Yuriev)
c69f23ed70
mdbx: по-умолчанию MDBX_ENABLE_BIGFOOT=1
вне зависимости от разрядности платформы.
2024-09-09 00:09:17 +03:00
Леонид Юрьев (Leonid Yuriev)
fcc4748f23
mdbx: исправление опечатки/орфографии.
2024-09-08 20:48:44 +03:00
Леонид Юрьев (Leonid Yuriev)
450c1081fa
mdbx++: добавление упущенных inline-реализаций mdbx::cursor::upper_bound()
и mdbx::cursor::upper_bound_multivalue()
.
2024-09-08 11:36:10 +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>
```
v0.13.1
2024-08-30 00:01:07 +03:00
Леонид Юрьев (Leonid Yuriev)
2c17c7b149
mdbx: дополнение ChangeLog.
2024-08-22 00:09:52 +03:00
Леонид Юрьев (Leonid Yuriev)
94936fd4c9
mdbx-testing: добавление теста пересоздания таблицы с другими флагами/опциями.
2024-08-22 00:04:56 +03:00
Леонид Юрьев (Leonid Yuriev)
a17b190dc8
mdbx: обновленный clang-format (косметика).
2024-08-22 00:04:41 +03:00
Леонид Юрьев (Leonid Yuriev)
b4dcf148c5
mdbx: исправление assert-проверки при попытке создания таблицы с другими флагами/опциями.
...
Сообщение о проблеме https://t.me/libmdbx/6101
2024-08-22 00:04:41 +03:00
Леонид Юрьев (Leonid Yuriev)
2b5d7ed29a
mdbx: вывод номера транзакции при ситуации зацикливания внутри gc_update()
.
2024-08-22 00:04:41 +03:00
Alexey Sharov
77a35608f6
mdbx-testing: увеличение размера БД до 32Гб (вдвое) в "tmux-батарейном" тесте.
2024-08-13 23:17:19 +03:00
Леонид Юрьев (Leonid Yuriev)
7511f480a4
mdbx-testing: уменьшение мощности "tmux-батарейного" теста вдвое (под "более типовую" виртуалку).
2024-08-13 23:15:34 +03:00
Леонид Юрьев (Leonid Yuriev)
0c9f531c72
mdbx-testing: добавление опции --db-upto-gb
в стохастический скрипт.
2024-08-13 23:14:49 +03:00
Леонид Юрьев (Leonid Yuriev)
f477fa13e0
mdbx-testing: включение ulimit -c unliminted
в стохастическом скрипте.
2024-08-13 23:13:58 +03:00
Леонид Юрьев (Leonid Yuriev)
b054a69e72
mdbx: исправление и рефакторинг цикла чтения мета-страниц при старте читающих транзакций.
...
Сценарий достаточно запутанный/сложный.
2024-08-11 09:44:32 +03:00
Леонид Юрьев (Leonid Yuriev)
aca692212f
mdbx-testing: исправление упущенной опции --extra
в battery-tmux.
2024-08-11 09:44:32 +03:00
Леонид Юрьев (Leonid Yuriev)
8cc5e8c262
mdbx: дополнение ChangeLog.
2024-08-08 00:17:09 +03:00
Леонид Юрьев (Leonid Yuriev)
edfa526138
mdbx: устранение возможности SIGSEGV
внутри coherency_check()
.
...
Падение происходило в случае когда:
- Некоторый процесс увеличивал размер БД с изменением геометрии (с
увеличением предельного размера БД и её отображения в ОЗУ), затем
задействовал страницу из добавленного сегмента в качестве корневой для
FreeDB/GC и/или MainDB и фиксировал транзакцию.
- Другой процесс, уже работавший с БД до изменения геометрии первым
процессом, запускал транзакцию чтения. Падение происходило при проверке
«когерентности» отображения страниц БД в ОЗУ, при проверке отметок
модификации внутри корневых страниц, так как в этом случае они были вне
границ текущего отображения БД в адресном пространстве этого процесса.
Похоже что в ходе какого-то рефакторинга потерялась соответствующая
проверка. Этот коммит добавляет её как временное решение, до переноса
проверки «когерентности» после изменения размера отображения (добавлено в
TODO).
2024-08-07 17:38:53 +03:00
Леонид Юрьев (Leonid Yuriev)
7bff3b3df6
mdbx: корректировка имен и ссылок в ChangeLog.
2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
7b09ecd9b7
mdbx-doc: дополнение описания mdbx_env_copy()
и родственных функций.
2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
7ed4a551f4
mdbx: внутренние переименования subDb в таблицы.
2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
57e558a57d
mdbx: использование термина "таблица" вместо "sub-database".
2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
dd5329c164
mdbx-doc: корректировка/исправление разметки Doxygen.
2024-08-03 12:50:44 +03:00