aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2013-06-25 16:36:29 -0400
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2013-06-25 16:41:47 -0400
commit4ca50e071024421e3b75bf7e48fda08141360636 (patch)
tree7eb04c0a0939c9c1214410a8af91f521a2ef10d2 /src
parent81166a2f7e1e792a746c907fe9e0318cc736311a (diff)
downloadpostgresql-4ca50e071024421e3b75bf7e48fda08141360636.tar.gz
postgresql-4ca50e071024421e3b75bf7e48fda08141360636.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/heap/heapam.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index e88dd30c648..1531f3b479a 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -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;
}