From c37ecaf8d558d4e6415417adba7191934202e1d2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 10 Jun 1999 06:55:40 +0000 Subject: [PATCH] Fix errors in SELECT ... GROUP BY ... UNION SELECT ... ye proverbial one-line patch (not counting five lines of comment so's maybe it won't happen again) --- src/backend/optimizer/prep/prepunion.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/prep/prepunion.c b/src/backend/optimizer/prep/prepunion.c index 478186b631..9ae2fb57a8 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.32 1999/06/06 17:38:11 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/prep/prepunion.c,v 1.33 1999/06/10 06:55:40 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -192,6 +192,13 @@ plan_union_queries(Query *parse) /* needed so we don't take the flag from the first query */ parse->uniqueFlag = NULL; + /* Make sure we don't try to apply the first query's grouping stuff + * to the Append node, either. Basically we don't want union_planner + * to do anything when we return control, except add the top sort/unique + * nodes for DISTINCT processing if this wasn't UNION ALL, or the top + * sort node if it was UNION ALL with a user-provided sort clause. + */ + parse->groupClause = NULL; parse->havingQual = NULL; parse->hasAggs = false;