▲ | avinassh 2 days ago | |||||||
I posted in another comment: There is a smoll demo in the post. In it, I corrupt an old frame that is not needed by the database at all. Now, one approach would be to continue the recovery and then present both states: one where the WAL is dropped, and another showing whatever we have recovered. If I had such an option, I would almost always pick the latter. | ||||||||
▲ | nemothekid 2 days ago | parent | next [-] | |||||||
>one where the WAL is dropped, and another showing whatever we have recovered. If I had such an option, I would almost always pick the latter I can't imagine picking the latter unless you were treating sqlite like a filesystem of completely unrelated blobs. If I run three transactions where: 1. John gives $100 to Sue. 2. Sue gives $100 to Mark. 3. Mark $100 money to Paul. If sqlite, just erases transaction (2), then Mark materializes $100 from nowhere. The rest of your database is potentially completely corrupted. At that point your database is no longer consistent - I can't see how you would "almost always" prefer this. If (2) is corrupt, then the restore stops at (1), and you are guaranteed consistency. | ||||||||
| ||||||||
▲ | 2 days ago | parent | prev [-] | |||||||
[deleted] |