]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix ndistinct estimates with system attributes
authorTomas Vondra <tomas.vondra@postgresql.org>
Fri, 26 Mar 2021 21:34:53 +0000 (22:34 +0100)
committerTomas Vondra <tomas.vondra@postgresql.org>
Fri, 26 Mar 2021 21:44:01 +0000 (22:44 +0100)
commit2a307df1bba7178b3903e01bee5012707f950473
treeda1e2ed6160b6165e5b4e04ddd4d47ce64d6e791
parent83ba02c83e363362ff7d808085dfe236de78f61d
Fix ndistinct estimates with system attributes

When estimating the number of groups using extended statistics, the code
was discarding information about system attributes. This led to strange
situation that

    SELECT 1 FROM t GROUP BY ctid;

could have produced higher estimate (equal to pg_class.reltuples) than

    SELECT 1 FROM t GROUP BY a, b, ctid;

with extended statistics on (a,b). Fixed by retaining information about
the system attribute.

Backpatch all the way to 10, where extended statistics were introduced.

Author: Tomas Vondra
Backpatch-through: 10
src/backend/utils/adt/selfuncs.c