Hi all,
As of the thread which led to addd034 (please see
https://www.postgresql.org/message-id/E1j9ioh-0005Kn-4O@gemulon.postgresql.org,
and sorry about that), it happens that we don't have any tests which
validate the internal data checksum implementation present in core as
of checksum_impl.h. pageinspect includes a SQL-callable function to
calculate the checksum of a page, mentioned by David in CC, and only
one test exists to make sure that a checksum is not NULL, but it does
not really help if the formula is touched.
Attached is a patch to close the gap by adding new tests to
pageinspect aimed at detecting any formula change. The trick is to
make the page data representative enough so as it is possible to
detect problems if any part of the formulas are changed, like updates
of pg_checksum_block or checksumBaseOffsets.
Any thoughts or other ideas?
Thanks,
--
Michael