Re: Number of attributes in HeapTupleHeader

From: Manfred Koizar <mkoi-pg(at)aon(dot)at>
To: "Rod Taylor" <rbt(at)zort(dot)ca>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Hiroshi Inoue" <Inoue(at)tpf(dot)co(dot)jp>, "Neil Conway" <nconway(at)klamath(dot)dyndns(dot)org>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Number of attributes in HeapTupleHeader
Date: 2002-05-09 10:07:58
Message-ID: enhkdukog07gmurdhpsia9004lg2jqfr0r@4ax.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, 8 May 2002 17:33:08 -0400, "Rod Taylor" <rbt(at)zort(dot)ca> wrote:
>From: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
>> This has been discussed before --- in PG terms, it'd mean keeping
>the
>> OID of a rowtype in the tuple header. (No, I won't let you get away
>> with a 1-byte integer. But you could remove natts and hoff, thus
>> buying back 3 of the 4 bytes.)
>
>Could the OID be on a per page basis? Rather than versioning each
>tuple, much with a page at a time? Means when you update one in a
>page the rest need to be tested to ensure that they have the most
>recent type, [...]

Rod,
"to be tested" is not enough, they'd have to be converted, which means
they could grow, thus possibly using up the free space on the page.
Or did you mean to treat this just like a normal update?

I was rather thinking of some kind of a translation vector: having 1
array of rowtype OIDs per relation and 1 byte per tuple pointing into
this array. But that has been rejected.

So it seems we are getting off topic. Initially this thread was about
reducing tuple header size, and now we've arrived at increasing the
size by one byte :-)

Servus
Manfred

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Marc G. Fournier 2002-05-09 11:51:19 Re: Path to PostgreSQL portabiliy
Previous Message Lamar Owen 2002-05-09 10:03:20 Re: OK, lets talk portability.