Re: AW: Adding index flag showing tuple status

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at>
Cc: "'Bruce Momjian'" <pgman(at)candle(dot)pha(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: AW: Adding index flag showing tuple status
Date: 2001-05-18 07:17:21
Message-ID: 14208.990170241@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

>> I am looking at adding an index tuple flag to indicate when a
>> heap tuple is expired so the index code can skip looking up the heap tuple.
>>
>> The problem is that I can't figure out how be sure that the heap tuple
>> doesn't need to be looked at by _any_ backend. Right now, we update the
>> transaction commit flags in the heap tuple to prevent a pg_log lookup,
>> but that is not enough because some transactions may still see that heap
>> tuple as visible.

> If you are only marking those, that need not be visible anymore, can you not
> simply delete that key (slot) from the index ? I know vacuum then shows a count
> mismatch, but that could probably be accounted for.

I am not sure we need this, if we implement a lightweight VACUUM per my
proposal in a nearby thread. The conditions that you could mark or
delete an index tuple under are exactly the same that VACUUM would be
looking for (viz, tuple dead as far as all remaining transactions are
concerned).

regards, tom lane

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2001-05-18 07:18:56 Re: Re: Plans for solving the VACUUM problem
Previous Message Tom Lane 2001-05-18 07:07:42 Re: possible DOMAIN implementation