Previously all WAL files had been stored, though with the time of use
this can take too much space on disk, and also the startup time will be
increased.
But it is pretty easy to prune old WAL files (the one parts from which
had been completely written to disk already).
Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
Current WAL format doesn't seem to be extendable without breaking
reverse compatibility.
This PR proposes to introduces a metadata section
for each action in the WAL to which optional fields can be added.
Adding new fields is trivial and doesn't have to break backwards
compatibility if these are not critical for correctness.
Metadata contains the minimum version of the reader allowed
to interpret it.
Removing fields is not supported.