On 2013-12-23 14:15:29 -0500, Robert Haas wrote:
> On Mon, Dec 23, 2013 at 1:57 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> > Well, all of the fundamental changes (combocids, the initial multixact
> > introduction) have been quite some time ago. I think backward compat has
> > a much higher value these days (I also don't see much point in looking
> > at cmin/cmax for anything but diagnostic purposes). I don't think any of
> > the usecases I've seen would be broken by either fk-locks (multixacts
> > have been there before, doesn't matter much that they now contain
> > updates) nor by forensic freezing. The latter because they really only
> > checked that xmin/xmax were the same, and we hopefully haven't broken
> > that...
> >
> > But part of my point really was the usability, not only the
> > performance. Requiring LATERAL queries to be usable sensibly causes a
> > "Meh" from my side ;)
>
> I simply can't imagine that we're going to want to add a system column
> every time we change something, or even enough of them to cover all of
> the things we've already got. We'd need at least infomask, infomask2,
> and hoff, and maybe some functions for peeking through mxacts to find
> the updater and locker XIDs and lock modes. With a couple of
> functions we can do all that and not look back.
If system columns don't have an overhead anymore, I fail to see the
advantage that functions have over simply accessing parts of the row in
the normal way parts of rows are accessed. The only reasoning I can see
is lessening the likelihood of conflicts - but that's essentially only
solved via namespaced pg_ prefixes for functions as well.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services