rewrite of RECENTLY DEAD tuples

From: "Benjamin S(dot)" <da_joind(at)gmx(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: rewrite of RECENTLY DEAD tuples
Date: 2011-02-17 08:38:51
Message-ID: 20110217093851.00ce2a1b@pluto-lenny.milky.way
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Hello list,

ATRewriteTable in tablecmds.c uses SnapshotNow to rewrite and thus
does not copy RECENTLY DEAD tuples. But copy_heap_data in cluster.c
uses SnapshotAny and copys RECENTLY DEAD tuples to the new heap
file.

I don't understand why it is not needed in the first case. In the
second case I guess that there may be still a transaction with an
older snapshot running which should be able to open the rewrited
table and see the older (RECENTLY DEAD) tuple. Why must a
transaction in the first case not be able to do so also?

Regards
Benjamin

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kohei Kaigai 2011-02-17 08:56:46 Re: sepgsql contrib module
Previous Message Simon Riggs 2011-02-17 08:30:22 Re: [COMMITTERS] pgsql: Fix blatantly uninitialized variable in recent commit.