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
         */