From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Gregory Stark" <gsstark(at)mit(dot)edu>, "PostgreSQL-development" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Mail getting through? Short varlena headers |
Date: | 2007-02-16 17:42:25 |
Message-ID: | 87ire2q9ry.fsf@stark.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> Gregory Stark <gsstark(at)mit(dot)edu> writes:
>> In it I said that removing the 2-byte cases had no advantages but actually
>> since then I've thought of one. It makes the toaster code simpler since it can
>> just set a bit in the four-byte header just as it does now. It doesn't have to
>> worry about converting to a 2-byte header.
>
> Run that by me again? A toast pointer datum ought to have a 1-byte
> header, since its only twenty-something bytes long.
I was referring to compressed inline data.
By not having inline compressed data be 2-byte headers it eliminates having to
check a lot of corner cases and reduces the changes in tuptoaster.c since it
means pg_lzcompress can return a normal 4-byte header and nobody has to
convert it to a 2-byte header.
So I am doing that for now. I suspect we'll never get around to reintroducing
2-byte headers, but we could if we wanted to. It would be a small change
everywhere else but an annoying bunch of fiddly changes in tuptoaster.c.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | David Fetter | 2007-02-16 17:49:36 | Re: patch adding new regexp functions |
Previous Message | Tom Lane | 2007-02-16 17:28:01 | Re: buildfarm failure in XML code |