pageinspect's infomask and infomask2 as smallint - Mailing list pgsql-hackers

From Alvaro Herrera
Subject pageinspect's infomask and infomask2 as smallint
Date
Msg-id 1297712400-sup-2831@alvh.no-ip.org
Whole thread Raw
Responses Re: pageinspect's infomask and infomask2 as smallint  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
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.

I report this because it seems the first case to test upgradability of a
module.

-- 
Álvaro Herrera <alvherre@alvh.no-ip.org>


pgsql-hackers by date:

Previous
From: Cédric Villemain
Date:
Subject: Re: why two dashes in extension load files
Next
From: Dimitri Fontaine
Date:
Subject: Re: CommitFest 2011-01 as of 2011-02-04