diff options
author | Bruce Momjian <bruce@momjian.us> | 1997-12-21 05:18:48 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1997-12-21 05:18:48 +0000 |
commit | 78a055a6593efb8e64ad2edac2c86b680c177ad2 (patch) | |
tree | a999fd9058d89576016dbe7cdbfbd7a0f8594d3a /src/backend/optimizer/prep/prepunion.c | |
parent | 0808e658a7166c8b90e1673f06694b005e0783e1 (diff) |
Remove some recursion in optimizer and clean up some code there.
Diffstat (limited to 'src/backend/optimizer/prep/prepunion.c')
-rw-r--r-- | src/backend/optimizer/prep/prepunion.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c index 7f9645e0f32..11e9489942e 100644 --- a/src/backend/optimizer/prep/prepunion.c +++ b/src/backend/optimizer/prep/prepunion.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/prepunion.c,v 1.11 1997/12/20 07:59:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/prepunion.c,v 1.12 1997/12/21 05:18:28 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -236,9 +236,13 @@ plan_union_query(List *relids, new_root->uniqueFlag = NULL; new_root->sortClause = NULL; new_root->groupClause = NULL; - new_root->qry_numAgg = 0; - new_root->qry_aggs = NULL; - del_agg_tlist_references(new_root->targetList); + if (new_root->qry_numAgg != 0) + { + new_root->qry_numAgg = 0; + pfree(new_root->qry_aggs); + new_root->qry_aggs = NULL; + del_agg_tlist_references(new_root->targetList); + } fix_parsetree_attnums(rt_index, rt_entry->relid, relid, |