Re: GIN improvements part 1: additional information
От | Heikki Linnakangas |
---|---|
Тема | Re: GIN improvements part 1: additional information |
Дата | |
Msg-id | 51CF1496.9020106@vmware.com обсуждение исходный текст |
Ответ на | Re: GIN improvements part 1: additional information (Heikki Linnakangas <hlinnakangas@vmware.com>) |
Ответы |
Re: GIN improvements part 1: additional information
|
Список | pgsql-hackers |
On 29.06.2013 11:56, Heikki Linnakangas wrote: > On 25.06.2013 01:03, Alexander Korotkov wrote: >> New revision of patch is attached. Now it includes some docs. > > Thanks! I'm looking into this in detail now. > > First, this patch actually contains two major things: > > 1. Pack item pointers more tightly on posting data leaf pages. > 2. Allow opclass implementation to attach "additional information" to > each item pointer. > > These are two very distinct features, so this patch needs to be split > into two. I extracted the 1st part into a separate patch, attached, and > am going to focus on that now. > > 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.. - Heikki
В списке pgsql-hackers по дате отправления: