Make ExecInitExpr build the list of SubPlans found in a plan tree in order
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 5 Apr 2009 20:32:06 +0000 (20:32 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
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 8ec92c4ccc320ab7caab4c8b9308e892ac02e591..1fac16212a6431810f1559aeccbafe8774ab8070 100644 (file)
@@ -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;
                        }