mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Fix an Assert that turns out to be reachable after all.
estimate_num_groups() gets unhappy with create table empty(); select * from empty except select * from empty e2; I can't see any actual use-case for such a query (and the table is illegal per SQL spec), but it seems like a good idea that it not cause an assert failure.
This commit is contained in:
@ -3068,8 +3068,13 @@ estimate_num_groups(PlannerInfo *root, List *groupExprs, double input_rows)
|
||||
double numdistinct;
|
||||
ListCell *l;
|
||||
|
||||
/* We should not be called unless query has GROUP BY (or DISTINCT) */
|
||||
Assert(groupExprs != NIL);
|
||||
/*
|
||||
* If no grouping columns, there's exactly one group. (This can't happen
|
||||
* for normal cases with GROUP BY or DISTINCT, but it is possible for
|
||||
* corner cases with set operations.)
|
||||
*/
|
||||
if (groupExprs == NIL)
|
||||
return 1.0;
|
||||
|
||||
/*
|
||||
* Count groups derived from boolean grouping expressions. For other
|
||||
|
Reference in New Issue
Block a user