zodbdump: Start to stabilize format + add test
We start to stabilize output format of zodb dump
. It is actually now robust and the only thing I would contemplate to potentially change is to also cover transaction metadata by hash checksum. So please take a look at updated format (details in patch 1) to provide feedback because it is likely close to what it will be in its final form.
We also add a program to generate test database which uses various fancy ZODB features and check zodb dump
output on it to golden one (patch 3).
To be able to dump transaction metadata in raw form ZODB is patched a bit:
https://github.com/zopefoundation/ZODB/pull/183
and we try to detect whether appropriate support is there at runtime and if yes use it to streamline obtaining transaction extension as raw (patch 2).
Pleae see patch 1 (second half of zodbdump.py
about what has to be taken on without such support and that it still can't work fully reliably).
/cc @nexedi