Hi, On 2014-01-02 05:26:26 +0000, Greg Stark wrote: > 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)
That's possible with system columns as well. In the normal cases we'll only have copied the HeapTuple, not the HeapTupleHeader, so it will be re-fetched from the (pinned) buffer. > 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. I don't see how that could be a good API. What happens if you have two relations in a query? Even if that wouldn't be a query, why would this be a helpful? Seems like a poor reinvention of system columns. Andres PS: Could you not always include the full quoted message below your -- signature? Greetings, Andres Freund 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