diff options
Diffstat (limited to 'src/backend/executor/nodeMergejoin.c')
-rw-r--r-- | src/backend/executor/nodeMergejoin.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/backend/executor/nodeMergejoin.c b/src/backend/executor/nodeMergejoin.c index 29e349bda9e..65d8482cad7 100644 --- a/src/backend/executor/nodeMergejoin.c +++ b/src/backend/executor/nodeMergejoin.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.5 1996/11/10 02:59:54 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/nodeMergejoin.c,v 1.6 1997/08/06 03:41:29 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -374,6 +374,18 @@ ExecMergeTupleDump(ExprContext *econtext, MergeJoinState *mergestate) printf("******** \n"); } +static void +CleanUpSort(Plan *plan) { + + if (plan == NULL) + return; + + if (plan->type == T_Sort) { + Sort *sort = (Sort *)plan; + psort_end(sort); + } +} + /* ---------------------------------------------------------------- * ExecMergeJoin * @@ -676,6 +688,8 @@ ExecMergeJoin(MergeJoin *node) */ if (TupIsNull(outerTupleSlot)) { MJ_printf("ExecMergeJoin: **** outer tuple is nil ****\n"); + CleanUpSort(node->join.lefttree->lefttree); + CleanUpSort(node->join.righttree->lefttree); return NULL; } |