Convert confusing macros in multixact.c to static inline functions
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 16 Jun 2024 17:47:07 +0000 (20:47 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 16 Jun 2024 17:47:07 +0000 (20:47 +0300)
commit0099b9408e8c74158976c888854e0caafd6c052a
tree29865f5208d2cf33223264c76f8ef99a28eb2836
parent92aff003d7f20810d7c8fbe13cbe5fb041cc6242
Convert confusing macros in multixact.c to static inline functions

The macros were confused about the argument data types. All the
arguments were called 'xid', and some of the macros included casts to
TransactionId, even though the arguments were actually either
MultiXactIds or MultiXactOffsets. It compiles to the same thing,
because TransactionId, MultiXactId and MultiXactOffset are all
typedefs of uint32, but it was highly misleading.

Author: Maxim Orlov <orlovmg@gmail.com>
Discussion: https://www.postgresql.org/message-id/CACG%3DezbLUG-OD1osAW3OchOMxZtdxHh2itYR9Zhh-a13wEBEQw%40mail.gmail.com
Discussion: https://www.postgresql.org/message-id/ff143b24-a093-40da-9833-d36b83726bdf%40iki.fi
src/backend/access/transam/multixact.c