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
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 |