Eyeballing 0001, it has a few problems. 1. It's under-parenthesizing the txn argument of the macros.
2. the "has"/"is" macro definitions don't return booleans -- see fce4609d5e5b. 3. the remainder of this no longer makes sense: /* Do we know this is a subxact? Xid of top-level txn if so */ - bool is_known_as_subxact; TransactionId toplevel_xid; I suggest to fix the comment, and also improve the comment next to the macro that tests this flag. (4. the macro names are ugly.) -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services