aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/functions.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/executor/functions.c')
-rw-r--r--src/backend/executor/functions.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c
index 1cb57d5651e..f9b729b8386 100644
--- a/src/backend/executor/functions.c
+++ b/src/backend/executor/functions.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.24 1999/02/13 23:15:20 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/executor/functions.c,v 1.25 1999/05/13 07:28:29 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -97,26 +97,23 @@ init_execution_state(FunctionCachePtr fcache,
execution_state *newes;
execution_state *nextes;
execution_state *preves;
- QueryTreeList *queryTree_list;
- int i;
- List *planTree_list;
- int nargs;
-
- nargs = fcache->nargs;
+ List *queryTree_list,
+ *planTree_list,
+ *qtl_item;
+ int nargs = fcache->nargs;
newes = (execution_state *) palloc(sizeof(execution_state));
nextes = newes;
preves = (execution_state *) NULL;
+ planTree_list = pg_parse_and_plan(fcache->src, fcache->argOidVect,
+ nargs, &queryTree_list, None, FALSE);
- planTree_list = (List *)
- pg_parse_and_plan(fcache->src, fcache->argOidVect, nargs, &queryTree_list, None, FALSE);
-
- for (i = 0; i < queryTree_list->len; i++)
+ foreach (qtl_item, queryTree_list)
{
- EState *estate;
- Query *queryTree = (Query *) (queryTree_list->qtrees[i]);
+ Query *queryTree = lfirst(qtl_item);
Plan *planTree = lfirst(planTree_list);
+ EState *estate;
if (!nextes)
nextes = (execution_state *) palloc(sizeof(execution_state));