Re: [HACKERS] Bogus "Non-functional update" notices

From: dg(at)illustra(dot)com (David Gould)
To: tgl(at)sss(dot)pgh(dot)pa(dot)us (Tom Lane)
Cc: vadim(at)krs(dot)ru, pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Bogus "Non-functional update" notices
Date: 1998-07-29 16:05:54
Message-ID: 9807291605.AA03368@hawk.illustra.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> Vadim Mikheev <vadim(at)krs(dot)ru> writes:
> > Tom Lane wrote:
> >> Another thing that struck me while looking at the update code is that
> >> an update deletes the old tuple value, then inserts the new value,
> >> but it doesn't bother to delete any old index entries pointing at the
> >> old tuple. ISTM that after a while, there are going to be a lot of old
> >> index entries pointing at dead tuples ... or, perhaps, at *some other*
> >> live tuple, if the space the dead tuple occupied has been reused for
> >> something else.
>
> > Vacuum deletes index tuples before deleting heap ones...
>
> Right, but until you've done a vacuum, what's stopping the code from
> returning wrong tuples? I assume this stuff actually works, I just
> couldn't see where the dead index entries get rejected.
>
> regards, tom lane
>

Without checking the code, I suspect that dead rows are visible though the
index (they had to be to make time travel work), but do not match the time
qual so are not "seen".

-dg

David Gould dg(at)illustra(dot)com 510.628.3783 or 510.305.9468
Informix Software (No, really) 300 Lakeside Drive Oakland, CA 94612
- If simplicity worked, the world would be overrun with insects. -

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Gould 1998-07-29 16:32:31 Re: [HACKERS] Informix on Linux
Previous Message Tom Lane 1998-07-29 15:58:02 Re: [HACKERS] Problem with CVS access to current sources