Make ExecInitExpr build the list of SubPlans found in a plan tree in order
authorTom Lane
Sun, 5 Apr 2009 20:32:06 +0000 (20:32 +0000)
committerTom Lane
Sun, 5 Apr 2009 20:32:06 +0000 (20:32 +0000)
of discovery, rather than reverse order.  This doesn't matter functionally
(I suppose the previous coding dates from the time when lcons was markedly
cheaper than lappend).  However now that EXPLAIN is labeling subplans with
IDs that are based on order of creation, this may help produce a slightly
less surprising printout.

src/backend/executor/execQual.c

index 21a9eb1753cf2c9a5a2466294ca991a0344cef37..b831aa530fad1f6a20ddc70e1f8d197be9496be4 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.244 2009/04/02 22:39:29 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/executor/execQual.c,v 1.245 2009/04/05 20:32:06 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -4326,7 +4326,7 @@ ExecInitExpr(Expr *node, PlanState *parent)
                sstate = ExecInitSubPlan(subplan, parent);
 
                /* Add SubPlanState nodes to parent->subPlan */
-               parent->subPlan = lcons(sstate, parent->subPlan);
+               parent->subPlan = lappend(parent->subPlan, sstate);
 
                state = (ExprState *) sstate;
            }