Closed
Description
It should be possible to resume errored FULL, PAGE and DELTA backups.
Main goal is to copy only changed blocks since some backup errored, because reading is cheaper than writing and we want to reuse as much as possible from already copied files.
I think the most efficient way to do so, is to have for every data file property "greatest_lsn".
So data file, already copied to backup, should have in its metadata value of greatest LSN among all its blocks.
We can use this value during reading instance data file to separate changed block since errored backup via simple comparison: block LSN >= greatest_lsn.
The bad news is that we must frequently flush backup_content.control file to disk.