Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> On 14.02.2011 21:49, Alvaro Herrera wrote:
>> Thanks to Noah Misch's review of the keylock patch I noticed that
>> pageinspect's heap_page_items(bytea) function returns infomask and
>> infomask2 as smallint (signed). But the fields in the tuple header are
>> 16 bits unsigned, so if the high (16th) bit is set, it returns negative
>> values which seem hard to handle. Not a problem for infomask, because
>> the high bit is used for a VACUUM FULL-era flag; but in infomask2 it is
>> used.
>>
>> This seems hard to fix for existing installations with the unpackaged
>> module already loaded -- IIRC it's not acceptable to drop a function,
>> which is what would need to be done here.
> pageinspect is just a debugging aid, so I think we should change it from
> smallint to int4 in 9.1, and not bother backporting.
I don't see any reason that the old version of the function couldn't be
dropped in the upgrade script. It's not likely anything would be
depending on it, is it?
regards, tom lane