Леонид Юрьев (Leonid Yuriev)
6627d14edf
mdbx: упрощение старта транзакций и исправление возможности double-free при ошибке создания вложенной транзакции.
2025-04-24 11:11:31 +03:00
Леонид Юрьев (Leonid Yuriev)
aeac971f0b
mdbx: переработка проверки курсоров на входе API-функций с добавлением cursor_check()
.
2025-03-17 23:25:30 +03:00
Леонид Юрьев (Leonid Yuriev)
709d524d21
mdbx: проверка владельца потока владеющего транзакцией только при MDBX_TXN_CHECKOWNER=ON
.
2025-03-04 10:52:30 +03:00
Леонид Юрьев (Leonid Yuriev)
56d1dbef45
mdbx: обновление года в ©.
2025-01-15 19:36:07 +03:00
Леонид Юрьев (Leonid Yuriev)
314b8ce1f0
mdbx: переименование (косметика).
2025-01-15 00:50:57 +03:00
Леонид Юрьев (Leonid Yuriev)
7e772114bc
mdbx: рефакторинг читающих транзакций в вычленением txn_ro_start()
, txn_ro_seize()
, txn_ro_slot()
.
2025-01-15 00:50:36 +03:00
Леонид Юрьев (Leonid Yuriev)
10e7e5c899
mdbx: рефакторинг mdbx_txn_commit_ex()
5/5 (вычленение txn_basal_end()
).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
6d92a778a5
mdbx: оформление опции сборки MDBX_NOSUCCESS_PURE_COMMIT
(выключено по умолчанию).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
c60f6afe5f
mdbx: упрощение/выпрямление/рефакторинг txn_end()
и затронутых зависимостей.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
a5bb555db3
mdbx: рефакторинг mdbx_txn_commit_ex()
4/5 (вычленение txn_basal_commit()
).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
b9b784c18e
mdbx: рефакторинг mdbx_txn_commit_ex()
3/5 (вычленение txn_nested_join()
).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
c6cd482ea0
mdbx: рефакторинг mdbx_txn_commit_ex()
2/5 (struct commit_timestamp
, latency_init/gcprof/done()
).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
2b9401e372
mdbx: рефакторинг mdbx_txn_commit_ex()
1/5 (переменование локальных timestamp-переменных).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
6fe7baa1b8
mdbx: упрощение mdbx_txn_break()
.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
1e5fef2c76
mdbx: рефакторинг txn-api с выносом отдельных txn-функций.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
0a4156fe6f
mdbx: перенос check_env()
из txn_end()
в функции txn-api.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
a89d418c91
mdbx: рефакторинг mdbx_txn_straggler()
с добавлением проверки env
.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
585ccdf716
mdbx: изменение TXN_END_NAMES
.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
81e2623a54
mdbx: рефакторинг затенения и завершения курсоров, с удалением TXN_END_EOTDONE
и добавлением txn_may_have_cursors
.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (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