So today miranda randomly corrupted my DB like has been the case lately, so I had a chance to test these tools. I noticed my DB had been corrupted when I typed something in a discord chat and it did not appear in the chat window despite being sent.
-> mdbx_dump.exe: D:\Temp\Vulpix.dat: MDBX_CORRUPTED: Database is corrupted
Not sure if it knows the db is corrupted or if it says this by default; I believe we are using mdbx sort of against its spec or something, so it'll always think it's corrupted. Maybe @Ghazan can comment.
-> mdbx_load.exe: took incredibly long to run. I guess about 20 minutes on a 473MB DB (well it was ~680MB when "dumped") with somewhat high disk activity. Get your tea and sit back for this one.
Recovered DB -> on startup, appears as completely empty, some settings lost. No accounts or protocols or users. History++ shows "ACCOUNT UNLOADED" for every contact, but contacts are present there. Still..
Trying to import this DB instead of using the recovery tool, it shows "Skipping contacts with no protocol" and imports nothing.
Instead, trying to import the corrupted db with miranda by creating clean db and importing it via import.dll produced better results, actually preserving all of the data up till when the failure occurred apparently. Well, not all. It deleted "duplicates" which were not duplicates but events with identical second timestamps. So data is lost in this case. @ghazan can you please disable this checking on db import?
And well for the mdbx tool introduced, what is the use case of the recovery tool?
Also @unsane, how is the sqlite db coming along? :p I'll host it on raid0'd SSD if it's stable and simply slow.
Oh also the best thing ever. The repaired profile actually loaded some default settings I guess, and what that did is it deleted all of the old backups in the autobackup folder so now I have no backups other than exported jsons + from past week when I do my actual offline backups.I can recover everything but damn. This fell through even my expectations.