Re: WIP: Fast GiST index build - Mailing list pgsql-hackers

From Alexander Korotkov
Subject Re: WIP: Fast GiST index build
Date
Msg-id CAPpHfdszFQ7KyWurN7+AMSdG-v4m-p=HgpLPH=XUZqbnGJf+og@mail.gmail.com
Whole thread
In response to Re: WIP: Fast GiST index build  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: WIP: Fast GiST index build
List pgsql-hackers
Fri, Jul 15, 2011 at 12:53 AM, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> wrote:
On 14.07.2011 23:41, Alexander Korotkov wrote:
Do you think using "rightlink" as pointer to parent page is possible during
index build? It would allow to simplify code significantly, because of no
more need to maintain in-memory structures for parents memorizing.

I guess, but where do you store the rightlink, then? Would you need a final pass through the index to fix all the rightlinks?

I think you could use the NSN field. It's used to detect concurrent page splits, but those can't happen during index build, so you don't need that field during index build. You just have to make it look like an otherwise illegal NSN, so that it won't be mistaken for a real NSN after the index is built. Maybe add a new flag to mean that the NSN is actually invalid.

Thank you for advice. But I didn't take into account that in this case I need to update parent link in many pages(which might be not in cache) on split. Seems that I still need to maintain some in-memory structures for parent finding.

------
With best regards,
Alexander Korotkov.

pgsql-hackers by date:

Previous
From: Alexander Korotkov
Date:
Subject: Re: Small patch for GiST: move childoffnum to child
Next
From: Mark Kirkwood
Date:
Subject: Re: Re: patch review : Add ability to constrain backend temporary file space