ITAGAKI Takahiro wrote:
> After the subtransaction had been added,
> the size of HeapTupleHeader became 27 bytes.
> This consumes extra bytes per tuple for the alignment padding,
> especially on systems where MAXIMUM_ALIGNOF is 8.
There was a discussion during the 8.1 devel cycle about shortening the
HeapTupleHeader struct. It involved some games with the command Ids.
Maybe you'll want to look at that, as it could have an impact on what
you're trying to do here. It reduced the size of the header by 4 bytes.
There was even a detailed design posted by Tom, I see you were copied on
it:
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: "Jim C. Nasby" <jnasby@pervasive.com>, Bruce Momjian <pgman@candle.pha.pa.us>, ITAGAKI Takahiro
<itagaki.takahiro@lab.ntt.co.jp>, pgsql-hackers@postgresql.org, mkoi-pg@aon.at
Date: Wed, 07 Sep 2005 13:38:07 -0400
Subject: Re: [HACKERS] Remove xmin and cmin from frozen tuples
--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.