Re: GSoC 2017 : Proposal for predicate locking in gist index

From: Andrew Borodin <borodin(at)octonica(dot)com>
To: Kevin Grittner <kgrittn(at)gmail(dot)com>
Cc: Shubham Barai <shubhambaraiss(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Andrew Borodin <amborodin86(at)gmail(dot)com>
Subject: Re: GSoC 2017 : Proposal for predicate locking in gist index
Date: 2017-06-01 05:49:04
Message-ID: CAJEAwVGQ_ptH-jFEsPBkDtGeHUr4P=uMLanFne+XuXN9CQpk8g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi, hackers!

2017-06-01 1:50 GMT+05:00 Kevin Grittner <kgrittn(at)gmail(dot)com>:
> > The main difference between b-tree and gist index while searching for a
> > target tuple is that in gist index, we can determine if there is a match or
> > not at any level of the index.
>
> Agreed. A gist scan can fail at any level, but for that scan to
> have produced a different result due to insertion of an index entry,
> *some* page that the scan looked at must be modified.

Two things seem non-obvious to me.
First, I just do not know, can VACUUM erase page with predicate lock?
Right now, GiST never deletes pages, as far as I know, so this
question is only matter of future compatibility.

Second, when we are doing GiST inserts, we can encounter unfinished
split. That's not a frequent situation, but still. Should we skip
finishing split or should we add it to collision check too?

Best regards, Andrey Borodin, Octonica.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Dilip Kumar 2017-06-01 05:49:32 Re: Error while creating subscription when server is running in single user mode
Previous Message Masahiko Sawada 2017-06-01 04:48:54 Tweaking tab completion for some backslash commands