Avoid inconsistent type declaration
Clang 3.3 correctly complains that a variable of type enum MultiXactStatus cannot hold a value of -1, which makes sense. Change the declared type of the variable to int instead, and apply casting as necessary to avoid the warning. Per notice from Andres Freund
This commit is contained in:
parent
81166a2f7e
commit
4ca50e0710
@ -116,12 +116,15 @@ static bool ConditionalMultiXactIdWait(MultiXactId multi,
|
||||
* 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] =
|
||||
@ -3847,7 +3850,7 @@ simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup)
|
||||
static MultiXactStatus
|
||||
get_mxact_status_for_lock(LockTupleMode mode, bool is_update)
|
||||
{
|
||||
MultiXactStatus retval;
|
||||
int retval;
|
||||
|
||||
if (is_update)
|
||||
retval = tupleLockExtraInfo[mode].updstatus;
|
||||
@ -3858,7 +3861,7 @@ get_mxact_status_for_lock(LockTupleMode mode, bool is_update)
|
||||
elog(ERROR, "invalid lock tuple mode %d/%s", mode,
|
||||
is_update ? "true" : "false");
|
||||
|
||||
return retval;
|
||||
return (MultiXactStatus) retval;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user