Skip site navigation (1) Skip section navigation (2)

Re: Dead Space Map

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>, Greg Stark <gsstark(at)mit(dot)edu>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Dead Space Map
Date: 2006-02-28 17:39:04
Message-ID: Pine.OSF.4.61.0602281937440.76425@kosh.hut.fi (view raw or flat)
Thread:
Lists: pgsql-hackers
On Tue, 28 Feb 2006, Bruce Momjian wrote:

> Tom Lane wrote:
>> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
>>> Tom Lane wrote:
>>>> MVCC goes out the window, eh?  Not to mention transaction rollback ability?
>>
>>> If the old row is not visible to any transactions, why would it not work?
>>
>> The old row is ALWAYS visible to somebody, until you commit (if you ever
>> do).  You can't simply overwrite existing data.
>
> Huh, I am not suggesting overwriting tuples you created, but tuples
> created by earlier transactions and now invisible to everyone.
>
> I should be clearer.  Suppose you have a table with a single index on
> the primary key.  You are updating the row over and over again (a
> typical case).  You create the first row, commit, then it is updated
> (two copies), commit, then you update it again.  That first created row
> might not be visible to anyone, but has the same index value as the new
> row you are about to add.  Why not reused that heap tuple?

Index tuples have commit info hint bits in them, don't they? You would 
still have to update those.

- Heikki

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2006-02-28 17:44:29
Subject: Re: Dead Space Map
Previous:From: Kevin GrittnerDate: 2006-02-28 17:36:28
Subject: Re: [PERFORM] temporary indexes

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group