Mark Dilger <mark.dilger@enterprisedb.com> writes:
> You certainly appear to be right about that. I've added the extra checks, and extended the regression test to
includethem. Patch attached.
Pushed with some more fooling about. The "bit reversal" idea is not
a sufficient guide to picking values that will hit all the code checks.
For instance, I was seeing out-of-range warnings on one endianness and
not the other because on the other one the maxalign check rejected the
value first. I ended up manually tweaking the corruption patterns
until they hit all the tests on both endiannesses. Pretty much the
opposite of black-box testing, but it's not like our notions of line
pointer layout are going to change anytime soon.
I made some logic rearrangements in the C code, too.
regards, tom lane