mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08: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:
parent
785d4998b6
commit
be9aad6b9e
@ -3051,8 +3051,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
|
||||
|
Loading…
Reference in New Issue
Block a user