Tom Lane wrote:
> Teodor Sigaev <[EMAIL PROTECTED]> writes:
>
>>>Hmm, is this patch really correct? Removing the gistadjscans() call
>>>from gistSplit seems wrong to me --- won't that miss reporting splits
>>>on leaf pages? Or does this not matter for some reason?
>>
>
>>gistadjscans() is moving to gistlayerinsert. gistadjscans() must be
>>called for parent of splitted page, but gistSplit doesn't know parent
>>of current page and gistlayerinsert return status of its action:
>>inserted and (may be) splitted. So we can call
>>gistadjscans(GIST_SPLIT) in gistlayerinsert when it's need.
>
>
> But gistSplit is recursive. Is there no need to worry about the
> additional splits it might do internally?
Internally splits are doing before calling gistadjscans. All pages
created by gistSplit will be inserted in the end of parent page.
GiST's indexes aren't a concurrent there for one call of gistadjscans
will be sufficiant.
---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/users-lounge/docs/faq.html