Re: pageinspect's infomask and infomask2 as smallint

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pageinspect's infomask and infomask2 as smallint
Date: 2011-02-15 08:38:37
Message-ID: 4D5A3B8D.9000401@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jan Urbański 2011-02-15 08:58:15 Re: pl/python do not delete function arguments
Previous Message Itagaki Takahiro 2011-02-15 08:31:41 Re: CommitFest 2011-01 as of 2011-02-04