Use new forboth() macro to make loop coding a bit clearer.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 May 2004 18:54:08 +0000 (18:54 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 26 May 2004 18:54:08 +0000 (18:54 +0000)
src/backend/tcop/pquery.c

index 2608588234cc88bdf686c3f35bcdb03096341243..e79c58f70259eae8b1fe27e5c2c599a000b44047 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/tcop/pquery.c,v 1.78 2004/05/26 04:41:35 neilc Exp $
+ *       $PostgreSQL: pgsql/src/backend/tcop/pquery.c,v 1.79 2004/05/26 18:54:08 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -801,8 +801,8 @@ PortalRunMulti(Portal portal,
                           DestReceiver *dest, DestReceiver *altdest,
                           char *completionTag)
 {
-       ListCell   *planlist_item = list_head(portal->planTrees);
        ListCell   *querylist_item;
+       ListCell   *planlist_item;
 
        /*
         * If the destination is RemoteExecute, change to None.  The reason is
@@ -823,13 +823,12 @@ PortalRunMulti(Portal portal,
         * Loop to handle the individual queries generated from a single
         * parsetree by analysis and rewrite.
         */
-       foreach(querylist_item, portal->parseTrees)
+       forboth(querylist_item, portal->parseTrees,
+                       planlist_item, portal->planTrees)
        {
                Query      *query = (Query *) lfirst(querylist_item);
                Plan       *plan = (Plan *) lfirst(planlist_item);
 
-               planlist_item = lnext(planlist_item);
-
                /*
                 * If we got a cancel signal in prior command, quit
                 */