Shouldn't large objects be MVCC-aware? - Mailing list pgsql-hackers

From Tom Lane
Subject Shouldn't large objects be MVCC-aware?
Date
Msg-id 19298.1022021819@sss.pgh.pa.us
Whole thread Raw
List pgsql-hackers
I notice that the large-object operations in pg_largeobject.c and 
inv_api.c all use SnapshotNow to access large-object tuples.  This
means they are not really MVCC compliant.  For example, I could be
reading a large object that someone else is writing; if he commits
mid-read, then I will see some old data and some updated data.
This seems wrong.

In particular, pg_dump cannot promise to dump a consistent snapshot
of large objects, because what it reads will be read under SnapshotNow.

I suggest that large object tuples are user data and so should be
read using the QuerySnapshot established at start of transaction.

Comments anyone?  Is it possible that changing this will break any
existing applications that depend on the current behavior?
        regards, tom lane


pgsql-hackers by date:

Previous
From: Bear Giles
Date:
Subject: [HACKERS] 2nd cut at SSL documentation
Next
From: Lamar Owen
Date:
Subject: Re: Redhat 7.3 time manipulation bug