From: Heikki Linnakangas <heikki@enterprisedb.com>
To: Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: Zdenek Kotala <Zdenek.Kotala@sun.com>
Cc: PostgreSQL-patches <pgsql-patches@postgresql.org>
Subject: Re: page macros cleanup
Date: Fri, 04 Jul 2008 13:55:44 +0300
Message-ID: <486E01B0.9050100@enterprisedb.com> (raw)
In-Reply-To: <2e78013d0807040350m3b2913cfkceaa70d8f9d697c2@mail.gmail.com>
References: <48529B83.9010907@sun.com>
<2e78013d0807030450m4cab60d0jd99d1acce59fae56@mail.gmail.com>
<486DD1D1.50604@sun.com>
<2e78013d0807040150w393ad72codaf06a6ac12a83ce@mail.gmail.com>
<486DF644.4070604@enterprisedb.com>
<2e78013d0807040350m3b2913cfkceaa70d8f9d697c2@mail.gmail.com>
Pavan Deolasee wrote:
> On Fri, Jul 4, 2008 at 3:37 PM, Heikki Linnakangas
> <heikki@enterprisedb.com> wrote:
>>
>> I think this is the way it should be:
>>
>> #define HashMaxItemSize \
>> (BLCKSZ - \
>> SizeOfPageHeaderData - \
>> MAXALIGN(sizeof(HashPageOpaqueData)) - \
>> sizeof(ItemIdData))
>>
>
> I am wondering if this would fail for corner case if HashMaxItemSize
> happened to be unaligned. For example, if (itemsz < HashMaxItemSize <
> MAXALIGN(itemsz), PageAddItem() would later fail with a not-so-obvious
> error. Should we just MAXALIGN_DOWN the HashMaxItemSize ?
No, there's a itemsz = MAXALIGN(itemsz) call before the check against
HashMaxItemSize.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-patches@postgresql.org
Cc: heikki@enterprisedb.com, pavan.deolasee@gmail.com, Zdenek.Kotala@sun.com
Subject: Re: page macros cleanup
In-Reply-To: <486E01B0.9050100@enterprisedb.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox