On Wed, Mar 22, 2023 at 3:27 PM Tom Lane <t...@sss.pgh.pa.us> wrote: > My animal mamba doesn't like this one bit. > > I suspect the reason is that it's big-endian (PPC) and the endianness > hacking in the test is simply wrong: > > syswrite($file, > pack("L", $ENDIANNESS eq 'little' ? 0x00010019 : 0x19000100)) > or BAIL_OUT("syswrite failed: $!"); > > pack's L code should already be performing an endianness swap, so why > are we doing another one in the argument?
(Apologies for having missed responding to this yesterday afternoon.) Hmph. I didn't think very hard about that code and just assumed Himanshu had tested it. I don't have convenient access to a Big-endian test machine myself. Are you able to check whether using 0x00010019 unconditionally works? I think part of the reason that I thought this looked OK was because there are other places in this test case that do stuff differently based on endian-ness, but now that you mention it, I realize that stuff has to do with the varlena representation, which is endian-dependent in a way that the ItemIdData representation is not. -- Robert Haas EDB: http://www.enterprisedb.com