Add macros for ReorderBufferTXN toptxn
Peter Smith <smithpb2250@gmail.com>
From: Peter Smith <smithpb2250@gmail.com>
To: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-03-09T23:06:02Z
Lists: pgsql-hackers
Attachments
- v1-0001-Add-macros-for-ReorderBufferTXN-toptxn.patch (application/octet-stream) patch v1-0001
Hi, During a recent code review, I was confused multiple times by the toptxn member of ReorderBufferTXN, which is defined only for sub-transactions. e.g. txn->toptxn member == NULL means the txn is a top level txn. e.g. txn->toptxn member != NULL means the txn is not a top level txn It makes sense if you squint and read it slowly enough, but IMO it's too easy to accidentally misinterpret the meaning when reading code that uses this member. ~ Such code can be made easier to read just by introducing some simple macros: #define isa_toptxn(rbtxn) (rbtxn->toptxn == NULL) #define isa_subtxn(rbtxn) (rbtxn->toptxn != NULL) #define get_toptxn(rbtxn) (isa_subtxn(rbtxn) ? rbtxn->toptxn : rbtxn) ~ PSA a small patch that does this. (Tests OK using make check-world) Thoughts? ------ Kind Regards, Peter Smith. Fujitsu Australia
Commits
-
Add macros for ReorderBufferTXN toptxn.
- e709596b25bd 16.0 landed