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.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com