Re: A possible TODO item

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Gurjeet Singh" <singh(dot)gurjeet(at)gmail(dot)com>
Cc: "PGSQL Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: A possible TODO item
Date: 2006-12-31 17:32:21
Message-ID: 4261.1167586341@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Gurjeet Singh" <singh(dot)gurjeet(at)gmail(dot)com> writes:
> The comment above TOAST_INDEX_HACK in tuptoaster.h is:

> /*
> * This enables de-toasting of index entries. Needed until VACUUM is
> * smart enough to rebuild indexes from scratch.
> */
> #define TOAST_INDEX_HACK

> Do we already have a TODO item to remove this hack? If not, I think there
> should be, because it is waiting for some other progress to happen.

Like what? If you want to argue that it's important to work on, you'd
better make the case for that.

At first glance you might think that turning it off would Just Work,
because VACUUM should always remove index entries before removing
heap rows, but unfortunately an index might have more copies of a key
than just the one in the directly associated index entry. (btree,
for example, might have copied the key into a page "high key" and/or
boundary keys in upper tree levels. Those copies will persist long
after the underlying row is gone.) And surely we are never going
to make VACUUM force a complete REINDEX as the comment suggests.
So any change in the situation is going to require considerable work
as well as some good ideas we haven't thought of yet. Plus, it's
unclear that values large enough to require out-of-line storage are
reasonable candidates for indexing in the first place. So: what's
the argument that is going to persuade everyone that this is really
important?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-12-31 17:34:01 Re: Added the word TODO in comments
Previous Message Markus Schiltknecht 2006-12-31 16:49:07 Re: TODO: GNU TLS