diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c index 91baffb4e780f32643aae6ecf18df0f76ffe28b1..fe76a3377477e250028a9e0d81d25bccb81a3af7 100644 --- a/src/backend/executor/execUtils.c +++ b/src/backend/executor/execUtils.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/executor/execUtils.c,v 1.148 2007/07/27 19:09:04 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/executor/execUtils.c,v 1.149 2007/07/31 16:36:07 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -816,15 +816,14 @@ ExecOpenScanRelation(EState *estate, Index scanrelid) LOCKMODE lockmode; /* - * Determine the lock type we need. First, scan to see if target - * relation is a result relation. + * Determine the lock type we need. First, scan to see if target relation + * is a result relation. If not, check if it's a FOR UPDATE/FOR SHARE + * relation. In either of those cases, we got the lock already. */ lockmode = AccessShareLock; if (ExecRelationIsTargetRelation(estate, scanrelid)) lockmode = NoLock; - - /* If not, check if it's a FOR UPDATE/FOR SHARE relation */ - if (lockmode == AccessShareLock) + else { ListCell *l;