Re: [HACKERS] Indirect indexes - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [HACKERS] Indirect indexes
Date
Msg-id 20161230223530.gvu4azrsfqzr5eus@alvherre.pgsql
Whole thread Raw
In response to Re: [HACKERS] Indirect indexes  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: [HACKERS] Indirect indexes  (Bruce Momjian <bruce@momjian.us>)
Re: [HACKERS] Indirect indexes  (Michael Paquier <michael.paquier@gmail.com>)
List pgsql-hackers
Attached is v4, which fixes a couple of relatively minor bugs.  There
are still things to tackle before this is committable, but coding review
of the new executor node would be welcome.

The big remaining item is still fitting the PK data in TIDs 6 bytes.
I've been looking at reworking the btree code to allow for an arbitrary
size; it doesn't look impossible although it's going to be rather
invasive.  Also, vacuuming: my answer continues to be that the killtuple
interface should be good enough, but it's possible to vacuum the index
separately from vacuuming the table anyway if you do a full scan and
check the PK tuples for each indirect tuple.

This patch implements killtuple: a scan that sees an indirect tuple not
returning anything from the heap marks the tuple as LP_DEAD.  Later,
when the page is about to be split, those tuples are removed.

I also have a note in the code about not inserting an indirect tuple
when an identical one already exists.  This is a correctness issue: we
return duplicated heap rows in certain cases.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Attachment

pgsql-hackers by date:

Previous
From: Vik Fearing
Date:
Subject: Re: [HACKERS] [PATCH] Rename pg_switch_xlog to pg_switch_wal
Next
From: Craig Ringer
Date:
Subject: Re: [HACKERS] proposal: session server side variables