2023-01-16 16:24:51 +03:00
|
|
|
.\" Copyright 2015-2023 Leonid Yuriev <leo@yuriev.ru>.
|
2017-05-24 01:07:15 +03:00
|
|
|
.\" Copyright 2012-2015 Howard Chu, Symas Corp. All Rights Reserved.
|
2017-01-01 14:56:00 +03:00
|
|
|
.\" Copyright 2015,2016 Peter-Service R&D LLC <http://billing.ru/>.
|
2015-01-07 16:49:50 +03:00
|
|
|
.\" Copying restrictions apply. See COPYRIGHT/LICENSE.
|
mdbx: выпуск 0.12.4 "Арта-333"
Стабилизирующий выпуск с исправлением обнаруженных ошибок, устранением
недочетов и технических долгов. Ветка 0.12 считается готовой к
продуктовому использованию, получает статус стабильной и далее будет
получать только исправление ошибок. Разработка будет продолжена в ветке
0.13, а ветка 0.11 становится архивной.
Благодарности:
--------------
- Max <maxc0d3r@protonmail.com> за сообщение о проблеме ERROR_SHARING_VIOLATION
в режиме MDBX_EXCLUSIVE на Windows.
- Alisher Ashyrov <https://t.me/a1is43ras4> за сообщение о проблеме
с assert-проверкой и содействие в отладке.
- Masatoshi Fukunaga <https://gitflic.ru/user/mah0x211> за сообщение о проблеме
`put(MDBX_UPSERT+MDBX_ALLDUPS)` для случая замены всех значений в subDb.
Исправления (без корректировок новых функций):
----------------------------------------------
- Устранен регресс после коммита 474391c83c5f81def6fdf3b0b6f5716a87b78fbf,
приводящий к возврату ERROR_SHARING_VIOLATION в Windows при открытии БД
в режиме MDBX_EXCLUSIVE для чтения-записи.
- Добавлено ограничение размера отображения при коротком read-only файле, для
предотвращения ошибки ERROR_NOT_ENOUGH_MEMORY в Windows, которая возникает
в этом случае и совсем не информативна для пользователя.
- Произведен рефакторинг `dxb_resize()`, в том числе, для устранения срабатывания
assert-проверки `size_bytes == env->me_dxb_mmap.current` в специфических
многопоточных сценариях использования. Проверка срабатывала только в
отладочных сборках, при специфическом наложении во времени читающей и
пишущей транзакции в разных потоках, одновременно с изменением размера БД.
Кроме срабатывание проверки, каких-либо других последствий не возникало.
- Устранена проблема в `put(MDBX_UPSERT+MDBX_ALLDUPS)` для случая замены
всех значений единственного ключа в subDb. В ходе этой операции subDb
становится полностью пустой, без каких-либо страниц и именно эта
ситуация не была учтена в коде, что приводило к повреждению БД
при фиксации такой транзакции.
- Устранена излишняя assert-проверка внутри `override_meta()`.
Что в отладочных сборках могло приводить к ложным срабатываниям
при восстановлении БД, в том числе при автоматическом откате слабых
мета-страниц.
- Скорректированы макросы `__cold`/`__hot`, в том числе для устранения проблемы
`error: inlining failed in call to ‘always_inline FOO(...)’: target specific option mismatch`
при сборке посредством GCC >10.x для SH4.
Ликвидация технических долгов и мелочи:
---------------------------------------
- Исправлены многочисленные опечатки в документации.
- Доработан тест для полной стохастической проверки `MDBX_EKEYMISMATCH` в режиме `MDBX_APPEND`.
- Расширены сценарии запуска `mdbx_chk` из CMake-тестов для проверки как в обычном,
так и эксклюзивном режимах чтения-записи.
- Уточнены спецификаторы `const` и `noexcept` для нескольких методов в C++ API.
- Устранено использование стека под буферы для `wchar`-преобразования путей.
- Для Windows добавлена функция `mdbx_env_get_path()` для получения пути к БД
в формате многобайтных символов.
- Добавлены doxygen-описания для API с широкими символами.
- Устранены предупреждения статического анализатора MSVC,
все они были несущественные, либо ложные.
- Устранено ложное предупреждение GCC при сборке для SH4.
- Добавлена поддержка ASAN (Address Sanitizer) при сборке посредством MSVC.
- Расширен набор перебираемых режимов в скрипте `test/long_stochastic.sh`,
добавлена опция `--extra`.
- В C++ API добавлена поддержка расширенных опций времени выполнения `mdbx::extra_runtime_option`,
аналогично `enum MDBX_option_t` из C API.
- Вывод всех счетчиков page-operations в `mdbx_stat`.
63 files changed, 1161 insertions(+), 569 deletions(-)
Signed-off-by: Леонид Юрьев (Leonid Yuriev) <leo@yuriev.ru>
2023-03-03 23:23:08 +03:00
|
|
|
.TH MDBX_STAT 1 "2023-03-03" "MDBX 0.12.4"
|
2015-01-07 16:49:50 +03:00
|
|
|
.SH NAME
|
2017-05-24 01:42:10 +03:00
|
|
|
mdbx_stat \- MDBX environment status tool
|
2015-01-07 16:49:50 +03:00
|
|
|
.SH SYNOPSIS
|
2017-02-21 20:16:54 +03:00
|
|
|
.B mdbx_stat
|
2015-01-07 16:49:50 +03:00
|
|
|
[\c
|
|
|
|
.BR \-V ]
|
|
|
|
[\c
|
2019-12-05 01:43:57 +03:00
|
|
|
.BR \-q ]
|
|
|
|
[\c
|
2021-05-12 14:41:09 +03:00
|
|
|
.BR \-p ]
|
|
|
|
[\c
|
2015-01-07 16:49:50 +03:00
|
|
|
.BR \-e ]
|
|
|
|
[\c
|
|
|
|
.BR \-f [ f [ f ]]]
|
|
|
|
[\c
|
|
|
|
.BR \-r [ r ]]
|
|
|
|
[\c
|
|
|
|
.BR \-a \ |
|
|
|
|
.BI \-s \ subdb\fR]
|
2019-12-05 01:43:57 +03:00
|
|
|
.BR \ dbpath
|
|
|
|
[\c
|
|
|
|
.BR \-n ]
|
2015-01-07 16:49:50 +03:00
|
|
|
.SH DESCRIPTION
|
|
|
|
The
|
2017-02-21 20:16:54 +03:00
|
|
|
.B mdbx_stat
|
2017-05-24 01:42:10 +03:00
|
|
|
utility displays the status of an MDBX environment.
|
2015-01-07 16:49:50 +03:00
|
|
|
.SH OPTIONS
|
|
|
|
.TP
|
|
|
|
.BR \-V
|
|
|
|
Write the library version number to the standard output, and exit.
|
|
|
|
.TP
|
2019-12-05 01:43:57 +03:00
|
|
|
.BR \-q
|
|
|
|
Be quiet.
|
|
|
|
.TP
|
2021-05-12 14:41:09 +03:00
|
|
|
.BR \-p
|
|
|
|
Display overall statistics of page operations of all (running, completed
|
|
|
|
and aborted) transactions in the current multi-process session (since the
|
|
|
|
first process opened the database after everyone had previously closed it).
|
|
|
|
.TP
|
2015-01-07 16:49:50 +03:00
|
|
|
.BR \-e
|
|
|
|
Display information about the database environment.
|
|
|
|
.TP
|
|
|
|
.BR \-f
|
2021-05-12 14:41:09 +03:00
|
|
|
Display information about the environment GC.
|
|
|
|
If \fB\-ff\fP is given, summarize each GC/freelist entry.
|
|
|
|
If \fB\-fff\fP is given, display the full list of page IDs in the GC/freelist.
|
2015-01-07 16:49:50 +03:00
|
|
|
.TP
|
|
|
|
.BR \-r
|
|
|
|
Display information about the environment reader table.
|
|
|
|
Shows the process ID, thread ID, and transaction ID for each active
|
|
|
|
reader slot. The process ID and transaction ID are in decimal, the
|
|
|
|
thread ID is in hexadecimal. The transaction ID is displayed as "-"
|
|
|
|
if the reader does not currently have a read transaction open.
|
|
|
|
If \fB\-rr\fP is given, check for stale entries in the reader
|
|
|
|
table and clear them. The reader table will be printed again
|
|
|
|
after the check is performed.
|
|
|
|
.TP
|
|
|
|
.BR \-a
|
|
|
|
Display the status of all of the subdatabases in the environment.
|
|
|
|
.TP
|
|
|
|
.BR \-s \ subdb
|
|
|
|
Display the status of a specific subdatabase.
|
2019-12-05 01:43:57 +03:00
|
|
|
.TP
|
|
|
|
.BR \-n
|
|
|
|
Display the status of an MDBX database which does not use subdirectories.
|
2020-09-28 15:37:47 +03:00
|
|
|
This is legacy option. For now MDBX handles this automatically
|
|
|
|
for existing databases, but may be required while creating new.
|
|
|
|
|
2015-01-07 16:49:50 +03:00
|
|
|
.SH DIAGNOSTICS
|
|
|
|
Exit status is zero if no errors occur.
|
|
|
|
Errors result in a non-zero exit status and
|
|
|
|
a diagnostic message being written to standard error.
|
|
|
|
.SH "SEE ALSO"
|
2019-09-10 16:08:21 +03:00
|
|
|
.BR mdbx_chk (1),
|
|
|
|
.BR mdbx_copy (1),
|
|
|
|
.BR mdbx_dump (1),
|
|
|
|
.BR mdbx_load (1)
|
2021-03-10 14:43:49 +03:00
|
|
|
.BR mdbx_drop (1)
|
2015-01-07 16:49:50 +03:00
|
|
|
.SH AUTHOR
|
2019-12-05 01:43:57 +03:00
|
|
|
Howard Chu of Symas Corporation <http://www.symas.com>,
|
2022-04-20 06:42:16 +03:00
|
|
|
Leonid Yuriev <https://gitflic.ru/user/erthink>
|