Re: strange update problem with 7.2.1

From: Teodor Sigaev <teodor(at)stack(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>, Ivan Panchenko <ivan(at)xray(dot)sai(dot)msu(dot)ru>
Subject: Re: strange update problem with 7.2.1
Date: 2002-05-28 15:09:02
Message-ID: 3CF39D8E.5030204@stack.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> Teodor Sigaev <teodor(at)stack(dot)net> 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.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2002-05-28 15:10:25 Re: strange update problem with 7.2.1
Previous Message Tom Lane 2002-05-28 15:01:22 Re: cache lookup failed: hack pg_* tables?