OSDN Git Service

If we're gonna use ExecRelationIsTargetRelation here, might as well
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 31 Jul 2007 16:36:07 +0000 (16:36 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 31 Jul 2007 16:36:07 +0000 (16:36 +0000)
simplify a bit further.

src/backend/executor/execUtils.c

index 91baffb..fe76a33 100644 (file)
@@ -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;