On 2014-01-02 07:35:11 -0500, Robert Haas wrote: > On Thu, Jan 2, 2014 at 12:26 AM, Greg Stark <st...@mit.edu> wrote: > >> I fail to see why. What is so ugly about this: > > > >> select x.* from pgbench_accounts a, pg_tuple_header(a.tableoid, a.ctid) x; > > > > Two points: > > > > 1) it's a bit weird to go to this effort to eliminate system columns by > > using a scheme that depends on having a system column -- ctid > > > > 2) refetching a row could conceivably end up retrieving different data than > > was present when the row was originally read. (In some cases that might > > actually be the intended behaviour) > > > > If this came up earlier I'm sorry but I suppose it's too hard to have a > > function like foo(tab.*) which magically can tell that the record is a heap > > tuple and look in the header? And presumably throw an error if passed a non > > heap tuple. > > Yeah, that was tried. Doesn't work: > > http://www.postgresql.org/message-id/ca+tgmozwzzw_wr8adhwc8iejweihxlpxranqyrfb8mw0sch...@mail.gmail.com > > At any rate, my goal isn't really to get rid of system columns, but to > address Jim Nasby's gripe that the changes thus far committed make it > difficult to use system columns to determine whether a given tuple has > been frozen. It sounds like the consensus is that a system column is > a better way of doing that than a function, so I suppose the next step > is to try to hammer out the details.
So, I think something like my POC patch would need to get in before we can go there, right? I won't be able to work on it in the next 10days or so, there's a bunch of stuff that's more pressing unfortunately. There's a fair bit of work left there... Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers