From: | Peter Eisentraut <peter_e(at)gmx(dot)net> |
---|---|
To: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
Cc: | Alexander Korotkov <aekorotkov(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: GIN improvements part 1: additional information |
Date: | 2013-10-11 01:09:26 |
Message-ID: | 1381453766.5264.11.camel@vanquo.pezone.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
You linked to this email from the commitfest entry, but there is no
patch here. You probably meant a different email. Check please.
On Tue, 2013-10-08 at 21:48 +0300, Heikki Linnakangas wrote:
> On 04.10.2013 14:13, Alexander Korotkov wrote:
> > On Fri, Oct 4, 2013 at 12:28 PM, Heikki Linnakangas<hlinnakangas(at)vmware(dot)com
> >> wrote:
> >
> >> In the attached patch, I in fact already did that for data leaf pages, but
> >> didn't change the format of non-leaf pages yet. If we want to support
> >> pg_upgrade, we might want to refrain from changing the non-leaf format.
> >
> > In GinDataLeafPageGetPostingList* you use sizeof(ItemPointerData) without
> > MAXALIGN. Is it an error or you especially use 2 extra bytes on leaf page?
>
> I didn't even think of it. Now that I do think of it, I don't see a
> reason to use MAXALIGN there. PostingItems only require 2-byte
> alignment. It's a bit fragile and underdocumented though. It probably
> would be good to have a struct to represent that layout. Something like:
>
> struct
> {
> ItemPointerData rightBound;
> PostingItem postingItems[1]; /* variable length array */
> } PostingItemPageContent;
>
> And use that struct in the macros.
>
> Then again, we do currently use MAXALIGN there, so if we want to avoid
> changing the on-disk format, we have to keep it...
>
> - Heikki
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2013-10-11 01:35:07 | Re: Bugfix and new feature for PGXS |
Previous Message | Robert Haas | 2013-10-11 00:56:23 | Re: Auto-tuning work_mem and maintenance_work_mem |