Леонид Юрьев (Leonid Yuriev)
340bd080c9
mdbx: исправление опечатки в cursor_touch()
.
...
При переделке курсоров было пропущено отрицание в условии, при оценке
кол-ва страниц, которые могут потребоваться для выполнения операции.
В текущем понимании ошибка не приводила к каким-либо проблемам, ибо
оценка делает по верхней границе с существенным запасом, а в худшем
случае это могло приводить к прерыванию транзакции из-за достижения
ограничения на кол-во грязных страниц.
2025-01-26 16:37:00 +03:00
Леонид Юрьев (Leonid Yuriev)
7074b94b2e
mdbx: упрощение gcu_loose()
.
2025-01-26 16:36:55 +03:00
Леонид Юрьев (Leonid Yuriev)
beb5a81d12
mdbx-doc: обновление номера версии и даты в заголовках man-страниц.
2025-01-17 18:29:15 +03:00
Леонид Юрьев (Leonid Yuriev)
56d1dbef45
mdbx: обновление года в ©.
2025-01-15 19:36:07 +03:00
Леонид Юрьев (Leonid Yuriev)
2c3b36da64
mdbx: рефакторинг txn_renew()
транзакций с вычленением txn_basal_start()
.
2025-01-15 00:50:57 +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)
0accf98ff7
mdbx: добавление опции сборки MDBX_ENABLE_NON_READONLY_EXPORT
и логирование соответствующих ситуаций.
...
Закрывает [запрос](https://gitflic.ru/project/erthink/libmdbx/issue/16 ).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
950db52fe8
mdbx: выделение basal/ro/nested txn-функций в отдельные файлы (без изменений кода).
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
380385c1db
mdbx: упрощение выхода по not-found пути из cursor_seek()
.
2025-01-14 13:26:54 +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)
b681b59434
mdbx: рефакторинг/вычленение txn_basal_create/destroy()
.
2025-01-14 13:26:54 +03:00
Леонид Юрьев (Leonid Yuriev)
a994a9bbcc
mdbx: использование MDBX_GET_BOTH
для проверки наличия добавляемого значения в таблице.
2025-01-13 16:55:41 +03:00
Леонид Юрьев (Leonid Yuriev)
c751977bf7
mdbx-tools: добавление логирования ошибок/предупреждений по все утилиты.
2025-01-12 14:38:20 +03:00
Леонид Юрьев (Leonid Yuriev)
e5fe279632
mdbx: логирование ошибок при открытии lck-файла.
2025-01-12 14:30:39 +03:00
Леонид Юрьев (Leonid Yuriev)
8408a2eed3
mdbx: добавление разделителя между MDBX_BUILD_FLAGS_CONFIG
и MDBX_BUILD_FLAGS
(косметика).
2025-01-12 11:54:24 +03:00
Леонид Юрьев (Leonid Yuriev)
0297136648
mdbx: улучшение авто-переключения в режим without-lck при открытии БД на read-only-носителе.
2025-01-12 02:58:59 +03:00
Леонид Юрьев (Leonid Yuriev)
92a49c7c8c
mdbx: устранение риска потери/перезаписи errno
при неожиданных ошибках в close()
.
2025-01-12 02:58:59 +03:00
Леонид Юрьев (Leonid Yuriev)
b75e16f4f8
mdbx: устранение null-dereference регресса в режиме readonly-without-lck.
2025-01-12 02:58:59 +03:00
Леонид Юрьев (Leonid Yuriev)
9c8f90b713
mdbx: доработка эвристик для выбора/подстройки default-значений в mdbx_env_set_geometry()
.
2025-01-11 02:30:53 +03:00
Леонид Юрьев (Leonid Yuriev)
b00e8ea13f
mdbx: использование txl_contain()
в audit()
.
2025-01-08 13:29:10 +03:00
Леонид Юрьев (Leonid Yuriev)
faa9753d2d
mdbx: перемещение и корректировка комментария размечающего внутренние поля пишущей транзакции.
2025-01-05 14:44:00 +03:00
Леонид Юрьев (Leonid Yuriev)
5ba257fafc
mdbx: добавление упущенного static
для txl_reserve()
.
2025-01-05 14:44:00 +03:00
Леонид Юрьев (Leonid Yuriev)
bad6e3c2e2
mdbx: очистка флажка ENV_TXKEY
внутри rthc_dtor()
.
...
На штатную работу это никак не влияет, но немного облегчит разбор
ситуаций когда глобальный конструктор не вызывается, либо делается
попытка вызвать его дважды (из-за ошибок rtc/libc, etc).
2025-01-05 14:40:56 +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)
1e4e2eb3c8
mdbx-doc: исправление опечатки в комментарии.
2024-12-29 08:42:48 +03:00
Леонид Юрьев (Leonid Yuriev)
df8b15f639
mdbx: const
для транзакции в txn_take_gcprof()
.
2024-12-28 09:38:08 +03:00
Леонид Юрьев (Leonid Yuriev)
26f6fd351a
mdbx: подстройка dirty-pages-limit при старте транзакций.
2024-12-27 09:39:36 +03:00
Леонид Юрьев (Leonid Yuriev)
c8c541649c
mdbx: доработка контроля длины ключа внутри cursor_seek()
.
...
Ранее проверка внутри cursor_seek() не позволяла искать ключи длиннее чем можно поместить в таблицу,
что при поиске/позиционировании не является ошибкой для ключей переменного размера.
2024-12-27 09:39:36 +03:00
Леонид Юрьев (Leonid Yuriev)
bfc6795762
mdbx: устранение регресса не-отпускания мьютекса при попытки повторного закрытия dbi-хендла.
...
Ошибка была внесена 2024-10-23 коммитом v0.13.1-35-g3049bb87b5b14d83b16d121c186ce8fb3f21383e.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
a76e06a48e
mdbx: исправление несогласованности MDBX_DPL_PREALLOC_FOR_RADIXSORT
и assert-проверки внутри dpl_bytes2size()
.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
b9e4c1ea73
mdbx: вычленение txl_contain()
.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
bc56a613ab
mdbx: чистка исходников pnl/dpl/txl.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
225fb79eb2
mdbx: переименование repnl/retxl.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
ffb7918525
mdbx: понижение уровня логирования "reserve depleted" при обновлении GC.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
0339aa56d9
mdbx: перенос prefault_write_activated
в транзакцию.
2024-12-22 10:39:49 +03:00
Леонид Юрьев (Leonid Yuriev)
4059686534
mdbx: опечатки в комментариях.
2024-12-22 10:39:49 +03:00