On Tue, Dec 24, 2013 at 6:22 AM, Andres Freund <and...@2ndquadrant.com> wrote: > On 2013-12-23 14:15:29 -0500, Robert Haas wrote: >> On Mon, Dec 23, 2013 at 1:57 PM, Andres Freund <and...@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.
I dunno, I just have an uneasy feeling about it. I guess if everyone's happy to add pg_infomask and pg_infomask2 as new system columns, we could go that route. For my part, I think that functions are a real extensibility mechanism and hidden system columns are a crock I'd rather not propagate. But I just work here, and I'll give way if the consensus is otherwise. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers