Commit 4ca50e07 authored by Alvaro Herrera's avatar Alvaro Herrera

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
parent 81166a2f
...@@ -116,12 +116,15 @@ static bool ConditionalMultiXactIdWait(MultiXactId multi, ...@@ -116,12 +116,15 @@ static bool ConditionalMultiXactIdWait(MultiXactId multi,
* update them). This table (and the macros below) helps us determine the * update them). This table (and the macros below) helps us determine the
* heavyweight lock mode and MultiXactStatus values to use for any particular * heavyweight lock mode and MultiXactStatus values to use for any particular
* tuple lock strength. * tuple lock strength.
*
* Don't look at lockstatus/updstatus directly! Use get_mxact_status_for_lock
* instead.
*/ */
static const struct static const struct
{ {
LOCKMODE hwlock; LOCKMODE hwlock;
MultiXactStatus lockstatus; int lockstatus;
MultiXactStatus updstatus; int updstatus;
} }
tupleLockExtraInfo[MaxLockTupleMode + 1] = tupleLockExtraInfo[MaxLockTupleMode + 1] =
...@@ -3847,7 +3850,7 @@ simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup) ...@@ -3847,7 +3850,7 @@ simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup)
static MultiXactStatus static MultiXactStatus
get_mxact_status_for_lock(LockTupleMode mode, bool is_update) get_mxact_status_for_lock(LockTupleMode mode, bool is_update)
{ {
MultiXactStatus retval; int retval;
if (is_update) if (is_update)
retval = tupleLockExtraInfo[mode].updstatus; retval = tupleLockExtraInfo[mode].updstatus;
...@@ -3858,7 +3861,7 @@ get_mxact_status_for_lock(LockTupleMode mode, bool is_update) ...@@ -3858,7 +3861,7 @@ get_mxact_status_for_lock(LockTupleMode mode, bool is_update)
elog(ERROR, "invalid lock tuple mode %d/%s", mode, elog(ERROR, "invalid lock tuple mode %d/%s", mode,
is_update ? "true" : "false"); is_update ? "true" : "false");
return retval; return (MultiXactStatus) retval;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment