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

From Heikki Linnakangas
Subject Re: GIN improvements part 1: additional information
Date
Msg-id 51D00D8B.3080300@vmware.com
Whole thread Raw
In response to Re: GIN improvements part 1: additional information  (Heikki Linnakangas <hlinnakangas@vmware.com>)
Responses Re: GIN improvements part 1: additional information  (Alexander Korotkov <aekorotkov@gmail.com>)
List pgsql-hackers
On 29.06.2013 20:08, Heikki Linnakangas wrote:
> On 29.06.2013 11:56, Heikki Linnakangas wrote:
>> I made one significant change: I removed the 'freespace' field you added
>> to GinpageOpaque. Instead, on data leaf pages the offset from the
>> beginning of the page where the packed items end is stored in place of
>> the 'maxoff' field. This allows for quick calculation of the free space,
>> but there is no count of item pointers stored on the page anymore, so
>> some code that looped through all the item pointers relying on 'maxoff'
>> had to be changed to work with the end offset instead. I'm not 100%
>> wedded on this, but I'd like to avoid adding the redundant freespace
>> field on pages that don't need it, because it's confusing and you have
>> to remember to keep them in sync.
>
> Ah, crap, looks like I sent the wrong patch, and now I can't find the
> correct one anymore. The patch I sent didn't include the changes store
> end offset instead of freespace. I'll rewrite that part..

Here's the correct version. I've probably broken things, sorry about that.

I'm going to mark this as "returned with feedback" now. The code still
needs a lot of general cleanup, including comment and README updates.
Also, please take some time to consider the open questions I listed
here: archives.postgresql.org/message-id/51CEA13C.8040103@vmware.com.

- Heikki

Attachment

pgsql-hackers by date:

Previous
From: Dean Rasheed
Date:
Subject: Re: Request for Patch Feedback: Lag & Lead Window Functions Can Ignore Nulls
Next
From: Heikki Linnakangas
Date:
Subject: Re: GIN improvements part2: fast scan