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:
Alvaro Herrera 2013-06-25 16:36:29 -04:00
parent 81166a2f7e
commit 4ca50e0710
1 changed files with 7 additions and 4 deletions

View File

@ -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;
}