Re: GiST insert algorithm rewrite

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Bruce Momjian <bruce(at)momjian(dot)us>, Teodor Sigaev <teodor(at)sigaev(dot)ru>, Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: GiST insert algorithm rewrite
Date: 2010-12-04 03:50:25
Message-ID: 37B49EC9-06DD-404E-BCAB-E73D9DBA4EB5@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Dec 3, 2010, at 4:54 PM, Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
> Here's an updated patch.

How carefully have you perf-tested this?

> On closer look, supporting the invalid tuples in scans was trivial, so I kept that after all. So you can still query an index with invalid tuples. If an insert encounters one, you get an error, and VACUUM emits a LOG message on any such tuples.

Cool.

> There's one bug remaining that I found during testing. If you crash, leaving an incomplete split behind, and then vacuum the table removing all the aborted tuples from the pages, it's possible that you end up with a completely empty page that has no downlink yet. The code to complete incomplete splits doesn't cope with that at the moment - it doesn't know how to construct a parent key for a child that has no tuples.

I think we can live with this.
>

...Robert

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-12-04 04:28:09 Note about KNNGIST limitation: no mark/restore
Previous Message Vaibhav Kaushal 2010-12-04 03:49:02 Requirement for the Buffer manager to load multiple pages at once