Miranda NG MDBX database driver

From Miranda NG
Revision as of 18:10, 10 February 2021 by Dart Raiden (talk | contribs) (Marked this version for translation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Plugin:Dbx mdbx
Jump to navigation Jump to search
Other languages:
Miranda NG MDBX database driver

Filename Dbx_mdbx.dll
Author Miranda NG team
Download links
Stable version: 32-bit, 64-bit
Development version: 32-bit, 64-bit

Warning
This database driver might suffer problems because of PC instability or disk damages. Thus that's vitally important to make backups once a day to minimize the chance of data loss.
Warning
This database driver does not work correctly under Wine due to the lack of some necessary functions in the Wine itself. Use Dbx_sqlite database driver.

Provides Miranda database support: global settings, contacts, history, settings per contact.

Based on libmdbx library, but contains some changes from the Miranda NG team which are necessary to meet the specific needs of Miranda.

Database check

Miranda32.exe /svc:dbchecker

or

Miranda64.exe /svc:dbchecker

Database repair

Important
Make a backup copy of the damaged database before restoring!

mdbx_chk.exe is located in the Miranda root folder.

mdbx_chk.exe -i -w -v -t -1 "path\to\corrupted.dat"

This command will select the second to last meta page (since the last one is probably pointing to corrupted snapshot).

Each meta page contains the necessary information (number transactions, geometry, etc.) as well as a pointer (usually) to own MVCC snapshot that seems to "float" in many pages along with the rest of the MVCC snapshots. Each such snapshot is generated when the writing transaction is committed.

If the above does not help

mdbx_dump.exe and mdbx_load.exe are located in the Miranda root folder.

mdbx_dump.exe -n -a -f "%TEMP%\corrupted.tmp" "path\to\corrupted.dat"
mdbx_load.exe -n -a -f "%TEMP%\corrupted.tmp" "path\to\repaired.dat"

This extracts as much data as possible from the corrupted.dat to the temporary file and builds repaired.dat.