tuptoaster.c must *not* use SnapshotAny - Mailing list pgsql-hackers

From Tom Lane
Subject tuptoaster.c must *not* use SnapshotAny
Date
Msg-id 6483.1011138408@sss.pgh.pa.us
Whole thread Raw
Responses Re: tuptoaster.c must *not* use SnapshotAny  ("Command Prompt, Inc." <pgsql-hackers@commandprompt.com>)
Re: tuptoaster.c must *not* use SnapshotAny  (Jan Wieck <janwieck@yahoo.com>)
List pgsql-hackers
The tuple toaster currently fetches toast-table rows using SnapshotAny.
This is quite uncool, because it will in fact find *any* row.  Including
dead rows resulting from an aborted (or, in 7.2, still-in-progress)
VACUUM.

I believe this is the explanation for a problem report I'm currently
chasing from Joshua Drake:

digivision2=# select * from change_log;
ERROR:  chunk 1 for toast value 3388774 appears multiple times

(there are some thousands of rows with similar problems)

I suggest SnapshotSelf instead.  Comments anyone?
        regards, tom lane


pgsql-hackers by date:

Previous
From: mlw
Date:
Subject: RServ replication
Next
From: Hiroshi Inoue
Date:
Subject: Re: Theory about XLogFlush startup failures