Re: Automatic free space map filling - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: Automatic free space map filling
Date
Msg-id 1141290420.3737.23.camel@localhost.localdomain
Whole thread Raw
In response to Re: Automatic free space map filling  ("Zeugswetter Andreas DCP SD" <ZeugswetterA@spardat.at>)
Responses Re: Automatic free space map filling  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Ühel kenal päeval, N, 2006-03-02 kell 09:53, kirjutas Zeugswetter
Andreas DCP SD:
> > I thought we had sufficiently destroyed that "reuse a tuple" 
> > meme yesterday.  You can't do that: there are too many 
> > aspects of the system design that are predicated on the 
> > assumption that dead tuples do not come back to life.  You 
> > have to do the full vacuuming bit (index entry removal, 
> > super-exclusive page locking, etc) before you can remove a dead tuple.
> 
> One more idea I would like to throw in.
> Ok, we cannot reuse a dead tuple. Maybe we can reuse the space of a dead
> tuple by reducing the tuple to it's header info.
> (If you still wanted to be able to locate index entries fast,
> you would need to keep indexed columns, but I think we agreed that there
> is
> no real use)

I don't even think you need the header, just truncate the slot to be
0-size (the next pointer is the same as this one or make the pointer
point to unaligned byte or smth) and detect this condition when
accessing tuples. this would add on compare to all accesse to the tuple,
but I suspect that mostly it is a noop performance-wise as all data
needed is already available in level1 cache.

This would decouple declaring a tuple to be dead/reuse data space and
final cleanup/free index space.

--------------------
Hannu




pgsql-hackers by date:

Previous
From: "Zeugswetter Andreas DCP SD"
Date:
Subject: Re: Automatic free space map filling
Next
From: Bernd Helmle
Date:
Subject: Re: Automatic free space map filling