mirror of
https://gitflic.ru/project/erthink/libmdbx.git
synced 2025-05-10 21:08:28 +00:00
Первый выпуск в новом кусте/линейке версий с добавлением функционала, расширением API и внутренними переработками. За перечнем доработок и изменений обращайтесь к [ChangeLog](https://libmdbx.dqdkfa.ru/md__change_log.html). git diff' stat: 166 files changed, 9467 insertions(+), 5597 deletions(-). Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
3.3 KiB
3.3 KiB
TODO
- SWIG.
- Параллельная lto-сборка с устранением предупреждений.
- Интеграция c DTrace и аналогами.
- Новый стиль обработки ошибок с записью "трассы" и причин.
- Формирование отладочной информации посредством gdb.
- Поддержка WASM.
- Ранняя/не-отложенная очистка GC.
- Явная и автоматические уплотнение/дефрагментация.
- Нелинейная обработка GC.
- Перевести курсоры на двусвязный список вместо односвязного.
- Внутри
txn_renew()
вынести проверку когерентности mmap за/после изменение размера. - Migration guide from LMDB to MDBX.
- Support for RAW devices.
- Support MessagePack for Keys & Values.
- Packages for Astra Linux, ALT Linux, ROSA Linux, etc.
Done
- Рефакторинг gc-get/gc-put c переходом на "интервальные" списки.
- Engage new terminology.
- More flexible support of asynchronous runtime/framework(s).
- Move most of
mdbx_chk
functional to the library API. - Simple careful mode for working with corrupted DB.
- Engage an "overlapped I/O" on Windows.
- Large/Overflow pages accounting for dirty-room.
- Get rid of dirty-pages list in MDBX_WRITEMAP mode.
Cancelled
- Replace SRW-lock on Windows to allow shrink DB with
MDBX_NOSTICKYTHREADS
option. Доработка не может быть реализована, так как замена SRW-блокировки лишает лишь предварительную проблему, но не главную. На Windows уменьшение размера отображенного в память файла не поддерживается ядром ОС. Для этого необходимо снять отображение, изменить размер файла и затем отобразить обратно. В свою очередь, для это необходимо приостановить работающие с БД потоки выполняющие транзакции чтения, либо готовые к такому выполнению. Но в режиме MDBX_NOSTICKYTHREADS нет возможности отслеживать работающие с БД потоки, а приостановка всех потоков неприемлема для большинства приложений.