Леонид Юрьев (Leonid Yuriev)
dc98f06d2c
mdbx: логирование и возврат MDBX_INCOMPATIBLE
при попытке запуска вложенных транзакций в режиме MDBX_WRITEMAP
.
2025-01-03 22:14:00 +03:00
Леонид Юрьев (Leonid Yuriev)
1bf008ac16
mdbx: доработка контроля потока-владельца транзакции.
...
1. Теперь допускается commit/abort вложенных транзакций из любого треда в режиме MDBX_NOSTICKYTHREADS.
2. Более наглядные/явные проверки без зависимости от больше/меньше.
Одна проверка внутри check_txn() для всех основных случаев (bad_bits != 0) и две проверки для abort/reset/break (bad_bits == 0).
+-------------------------------------------------------------------------------------------------------+
| Три анализируемых txn->flags | Проверка txn->owner == osal_thread_self() |
+-----------------+------------+--------------+-----------------------+---------------------------------+
| NOSTICKYTHREADS | TXN_RDONLY | TXN_FINISHED | usual (bad_bits != 0) | abort/reset/break (bad_bits==0) |
| - | - | - | + | + |
| - | - | + | + | + |
| - | + | - | + | + |
| - | + | + | + | - |
| + | - | - | - | - |
| + | - | + | + | + |
| + | + | - | - | - |
| + | + | + | + | - |
+-------------------------------------------------------------------------------------------------------+
2025-01-03 22:12:17 +03:00
Леонид Юрьев (Leonid Yuriev)
225fb79eb2
mdbx: переименование repnl/retxl.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
ba6df2bb6d
mdbx: выделение API-функций в api-файлы.
2024-12-17 19:00:39 +03:00
Леонид Юрьев (Leonid Yuriev)
8867c2ddc2
mdbx: новые настройки clang-format (косметика).
2024-12-11 21:22:04 +03:00
Леонид Юрьев (Leonid Yuriev)
81a8127084
mdbx: устранение "may be used uninitialized" предупреждений в LTO-сбрках из-за усложнения SSA/CTF вследствие добавления LOG_IFERR().
2024-11-27 18:28:39 +03:00
Леонид Юрьев (Leonid Yuriev)
28bd805ed8
mdbx: возможность логирования ошибок возвращаемых из API (return LOG_IFERR).
...
Возможность полезная, но пожалуй еще нуждается в доработке и/или
до-осмыслении. Основное неудобство в нестыковке с основным логированием.
С одной стороны, сообщение об ошибках следует выводить с
уровнем/severity MDBX_LOG_ERROR. Однако, это замусоривает и ломает
тесты.
Поэтому сейчас при возвращении ошибок из API сообщения логируются
MDBX_LOG_ERROR, но производится это только при включении уровня
логирования MDBX_LOG_DEBUG или более детальном.
2024-11-27 12:08:32 +03:00
Леонид Юрьев (Leonid Yuriev)
7ed4a551f4
mdbx: внутренние переименования subDb в таблицы.
2024-08-03 15:14:23 +03:00
Леонид Юрьев (Leonid Yuriev)
3de3d425a1
mdbx: изменение лицензии и реструктуризация исходного кода.
2024-06-19 14:18:18 +03:00