On Mon, Jan 2, 2012 at 7:13 PM, Tom Lane <[email protected]> wrote: > Simon Riggs <[email protected]> writes: >> On Mon, Jan 2, 2012 at 6:06 PM, Noah Misch <[email protected]> wrote: >>> On Mon, Jan 02, 2012 at 05:09:16PM +0000, Simon Riggs wrote: >>>> Attached patch makes SnapshotNow into an MVCC snapshot, > >>> That's a neat trick. However, if you start a new SnapshotNow scan while >>> one is >>> ongoing, the primordial scan's snapshot will change mid-stream. > >> Do we ever do that? > > Almost certainly yes. For example, a catcache load may invoke catcache > or relcache reload operations on its way to opening the table or index > needed to fetch the desired row.
Ah, of course. I was thinking they would be rare by design. > I think you can only safely do this if each caller has its own snapshot > variable, a la SnapshotDirty, and that's going to be hugely more > invasive. OK, will look into it. -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
