* update them). This table (and the macros below) helps us determine the
* heavyweight lock mode and MultiXactStatus values to use for any particular
* tuple lock strength.
+ *
+ * Don't look at lockstatus/updstatus directly! Use get_mxact_status_for_lock
+ * instead.
*/
static const struct
{
LOCKMODE hwlock;
- MultiXactStatus lockstatus;
- MultiXactStatus updstatus;
+ int lockstatus;
+ int updstatus;
}
tupleLockExtraInfo[MaxLockTupleMode + 1] =
static MultiXactStatus
get_mxact_status_for_lock(LockTupleMode mode, bool is_update)
{
- MultiXactStatus retval;
+ int retval;
if (is_update)
retval = tupleLockExtraInfo[mode].updstatus;
elog(ERROR, "invalid lock tuple mode %d/%s", mode,
is_update ? "true" : "false");
- return retval;
+ return (MultiXactStatus) retval;
}