Commit Graph

4232 Commits

Author SHA1 Message Date
Леонид Юрьев (Leonid Yuriev)
7232d7b5fc mdbx: уточнение описания mdbx_dbi_close() для случая хендлов измененных таблиц. 2024-10-23 13:28:26 +03:00
Леонид Юрьев (Leonid Yuriev)
964ee00116 mdbx: костыль для некорректной обработки [[gnu::pure]] в Apple Clang. 2024-10-23 11:26:09 +03:00
Леонид Юрьев (Leonid Yuriev)
b43eed2c2b mdbx++: переименование внутренних методов mdbx::buffer<>::silo::bin::inplace_lastbyte(). 2024-10-22 22:45:29 +03:00
Леонид Юрьев (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>
```
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