Simon Riggs <simon@2ndquadrant.com> writes: > I present a patch to allow READ UNCOMMITTED that is simple, useful and > efficient.
Won't this break entirely the moment you try to read a tuple containing toasted-out-of-line values? There's no guarantee that the toast-table entries haven't been vacuumed away.
I suspect it can also be broken by cases involving, eg, dropped columns. There are a lot of assumptions in the system that no one will ever try to read dead tuples.
This was my first concern when I thought about it, but I realised that by taking a snapshot and then calculating xmin normally, this problem would go away.
So this won't happen with the proposed patch.
The fact that you can construct a use-case in which it's good for something doesn't make it safe in general :-(
I agree that safety is a concern, but I don't see any safety issues in the patch as proposed.