> On Sep 27, 2016, at 11:25 PM, Heikki Linnakangas <hlinn...@iki.fi> wrote: > > On 09/28/2016 02:35 AM, Mark Dilger wrote: >> The function >> >> static void xlog_outdesc(StringInfo buf, XLogReaderState *record); >> >> in src/backend/access/transam/xlog.c is called by XLogInsertRecord, >> and after returning a string describing an XLogRecord, it clears the >> state data in its XLogReaderState argument. That mixes the read-only >> semantics of "give me a string that describes this argument" and the >> read-write semantics of "clear out the value in this argument". > > I don't see where the "clears the state data" is happening. Can you elaborate?
My apologies. At the bottom of the function, it calls through the function pointer RmgrTable[rmid].rm_desc(buf, record); which is set up to call various *_desc functions. I must have chased through those function pointers incorrectly, as I can't find the problem now that I am reviewing all those functions. Sorry for the noise, Mark Dilger -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers