Last infomask bit

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: pgsql-patches(at)postgresql(dot)org
Subject: Last infomask bit
Date: 2007-01-05 13:36:24
Message-ID: 459E5458.3050806@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-patches

Hi,

We're running out of infomask bits in the tuple header. I bumped into
this as I tried to apply both the phantom command ids patch, and the HOT
patch simultaneously. They both require one infomask bit, so they
conflicted.

This has been discussed before; I think the best approach is to use the
extra bits available in t_natts field. Here's a patch that doesn't do
anything interesting in itself, but it renames the t_natts field to
t_infomask2, with 11 bits reserved for the number of attributes and the
other 5 bits available for future use. All references to the old t_natts
field are replaced with a HeapTupleHeaderGetNatts accessor macro.

I believe it would actually be even better to combine the t_natts and
t_infomask fields to a single 32-bit infomask field. I refrained from
doing that for now because it would've required shifting all the
existing infomask flags.

Naturally, there's no point applying this before we actually need more
infobits, but it's good to be prepared.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

Attachment Content-Type Size
moreinfobits-pg82stable.v1.patch text/x-patch 16.0 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2007-01-05 14:39:53 Re: [HACKERS] wal_checksum = on (default) | off
Previous Message Zeugswetter Andreas ADI SD 2007-01-05 11:30:46 Re: [HACKERS] wal_checksum = on (default) | off

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2007-01-05 14:39:53 Re: [HACKERS] wal_checksum = on (default) | off
Previous Message Zeugswetter Andreas ADI SD 2007-01-05 11:30:46 Re: [HACKERS] wal_checksum = on (default) | off