On 2015-02-25 12:10:42 +0100, Andres Freund wrote: > On 2015-02-24 20:51:42 +0200, Heikki Linnakangas wrote: > > Regarding XactEmitCommitRecord and XactEmitAbortRecord, I wonder if you > > could pass an xl_xact_parsed/abort_commit struct to them, instead of the > > individual fields? You could then also avoid the static variables inside it, > > passing pointers to that struct to XLogRegisterData() instead. > > Hm, that's an idea. And rename it to xaxt_commit/abort_data?
So, I just tried this, and it doesn't really seem to come out as a net positive. More code at the callsites and more complex code in the *Emit* routines. It's impossible to use [FLEXIBLE_ARRAY_MEMBER] employing datatypes in xact_commit_data while emitting because there obviously are several chunks needing it. And avoid using it would make for a slightly less clear format. So unless you feel strongly about it, don't think so, I'll keep the statics, even if they're not particularly pretty. 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