diff options
Diffstat (limited to 'src/backend/nodes')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 6 | ||||
-rw-r--r-- | src/backend/nodes/equalfuncs.c | 6 | ||||
-rw-r--r-- | src/backend/nodes/freefuncs.c | 5 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index d353df58bdc..5f23a954b13 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.95 1999/11/15 02:00:01 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.96 1999/11/15 03:28:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -551,6 +551,10 @@ _copySubPlan(SubPlan *from) newnode->parParam = listCopy(from->parParam); Node_Copy(from, newnode, sublink); + /* do not copy execution state */ + newnode->shutdown = false; + newnode->curTuple = NULL; + return newnode; } diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index 2e3d67da608..fccb9d31608 100644 --- a/src/backend/nodes/equalfuncs.c +++ b/src/backend/nodes/equalfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.50 1999/10/07 04:23:04 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.51 1999/11/15 03:28:06 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -406,9 +406,13 @@ _equalIndexScan(IndexScan *a, IndexScan *b) static bool _equalSubPlan(SubPlan *a, SubPlan *b) { + /* should compare plans, but have to settle for comparing plan IDs */ if (a->plan_id != b->plan_id) return false; + if (!equal(a->rtable, b->rtable)) + return false; + if (!equal(a->sublink, b->sublink)) return false; diff --git a/src/backend/nodes/freefuncs.c b/src/backend/nodes/freefuncs.c index cad49be76bd..db09b6700bc 100644 --- a/src/backend/nodes/freefuncs.c +++ b/src/backend/nodes/freefuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.26 1999/08/21 03:48:57 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/Attic/freefuncs.c,v 1.27 1999/11/15 03:28:07 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -441,6 +441,9 @@ _freeSubPlan(SubPlan *node) freeList(node->parParam); freeObject(node->sublink); + if (node->curTuple) + pfree(node->curTuple); + pfree(node); } |