diff options
Diffstat (limited to 'src/backend/optimizer/path/allpaths.c')
-rw-r--r-- | src/backend/optimizer/path/allpaths.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index 4cd1bf65e74..1fd8763c966 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -1290,6 +1290,7 @@ set_subquery_pathlist(PlannerInfo *root, RelOptInfo *rel, */ if (parse->hasAggs || parse->groupClause || + parse->groupingSets || parse->havingQual || parse->distinctClause || parse->sortClause || @@ -2150,7 +2151,7 @@ subquery_push_qual(Query *subquery, RangeTblEntry *rte, Index rti, Node *qual) * subquery uses grouping or aggregation, put it in HAVING (since the * qual really refers to the group-result rows). */ - if (subquery->hasAggs || subquery->groupClause || subquery->havingQual) + if (subquery->hasAggs || subquery->groupClause || subquery->groupingSets || subquery->havingQual) subquery->havingQual = make_and_qual(subquery->havingQual, qual); else subquery->jointree->quals = |