Re: GIN improvements part 1: additional information - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: GIN improvements part 1: additional information
Date
Msg-id 1381453766.5264.11.camel@vanquo.pezone.net
Whole thread Raw
In response to Re: GIN improvements part 1: additional information  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List 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@vmware.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
> 
> 






pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Auto-tuning work_mem and maintenance_work_mem
Next
From: Peter Eisentraut
Date:
Subject: Re: Bugfix and new feature for PGXS