diff options
author | Bruce Momjian <bruce@momjian.us> | 1998-03-31 23:31:10 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1998-03-31 23:31:10 +0000 |
commit | 8dc48ba8772bff315fc0e6cd200fbcc2d0cd5776 (patch) | |
tree | 28acb8cc839af87c282d39fbec822b5626ea8ed2 /src/backend/optimizer/plan/planmain.c | |
parent | 9fbdda039dc4d6e2d0e852fe87fb7ee4a96a2298 (diff) |
Small HAVING cleanup.
Diffstat (limited to 'src/backend/optimizer/plan/planmain.c')
-rw-r--r-- | src/backend/optimizer/plan/planmain.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/backend/optimizer/plan/planmain.c b/src/backend/optimizer/plan/planmain.c index 132cda732b2..e9f27cd5098 100644 --- a/src/backend/optimizer/plan/planmain.c +++ b/src/backend/optimizer/plan/planmain.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.20 1998/02/26 04:32:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.21 1998/03/31 23:30:49 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -187,7 +187,9 @@ query_planner(Query *root, */ if (constant_qual) { - subplan = (Plan *) make_result((!root->hasAggs && !root->groupClause) + subplan = (Plan *) make_result((!root->hasAggs && + !root->groupClause && + !root->havingQual) ? tlist : subplan->targetlist, (Node *) constant_qual, subplan); @@ -195,7 +197,7 @@ query_planner(Query *root, /* * Change all varno's of the Result's node target list. */ - if (!root->hasAggs && !root->groupClause) + if (!root->hasAggs && !root->groupClause && !root->havingQual) set_tlist_references(subplan); return subplan; @@ -216,7 +218,7 @@ query_planner(Query *root, */ else { - if (!root->hasAggs && !root->groupClause) + if (!root->hasAggs && !root->groupClause && !root->havingQual) subplan->targetlist = flatten_tlist_vars(tlist, subplan->targetlist); return subplan; |