diff options
author | Vadim B. Mikheev | 2000-04-07 07:24:47 +0000 |
---|---|---|
committer | Vadim B. Mikheev | 2000-04-07 07:24:47 +0000 |
commit | 71b4790b6d7e35ba7a8f8197f2a2ddd663983ac2 (patch) | |
tree | 359c759c8cd7db6350f14be36010bf93d624a84d | |
parent | e4d8d43c52927960c4f0741c7183dc7b9259a4e1 (diff) |
Commebts & one check in EndEvalPlanQual().
-rw-r--r-- | src/backend/executor/execMain.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index d19baaa84dc..bbcba0fbc12 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -27,7 +27,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.111 2000/04/07 00:59:17 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execMain.c,v 1.112 2000/04/07 07:24:47 vadim Exp $ * *------------------------------------------------------------------------- */ @@ -2022,15 +2022,21 @@ EndEvalPlanQual(EState *estate) EState *epqstate = &(epq->estate); evalPlanQual *oldepq; - if (epq->rti == 0) /* still live? */ + if (epq->rti == 0) /* plans already shutdowned */ + { + Assert(epq->estate.es_evalPlanQual == NULL); return; + } for (;;) { ExecEndNode(epq->plan, epq->plan); epqstate->es_tupleTable->next = 0; - heap_freetuple(epqstate->es_evTuple[epq->rti - 1]); - epqstate->es_evTuple[epq->rti - 1] = NULL; + if (epqstate->es_evTuple[epq->rti - 1] != NULL) + { + heap_freetuple(epqstate->es_evTuple[epq->rti - 1]); + epqstate->es_evTuple[epq->rti - 1] = NULL; + } /* pop old PQ from the stack */ oldepq = (evalPlanQual *) epqstate->es_evalPlanQual; if (oldepq == (evalPlanQual *) NULL) |