This function calculates in bytes the storage taken between two
multixact offsets. This will be used in an upcoming patch, introduced
separately here as this piece can be useful on its own.
Author: Naga Appani <nagnrik@gmail.com>
Co-authored-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/aUyTvZMq2CLgNEB4@paquier.xyz
member_in_group * sizeof(TransactionId);
}
+/* Storage space consumed by a range of offsets, in bytes */
+static inline uint64
+MultiXactOffsetStorageSize(MultiXactOffset new_offset,
+ MultiXactOffset old_offset)
+{
+ Assert(new_offset >= old_offset);
+ return (uint64) ((new_offset - old_offset) / MULTIXACT_MEMBERS_PER_MEMBERGROUP) *
+ MULTIXACT_MEMBERGROUP_SIZE;
+}
+
#endif /* MULTIXACT_INTERNAL_H */