pgsql: Fix ndistinct estimates with system attributes

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pgsql: Fix ndistinct estimates with system attributes
Дата
Msg-id E1lPuUJ-0002MT-D1@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
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

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/33e52ad9a32929a6d14dfd98a8440d57028f2e3e

Modified Files
--------------
src/backend/utils/adt/selfuncs.c        | 6 +++---
src/test/regress/expected/stats_ext.out | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Noah Misch
Дата:
Сообщение: pgsql: Merge similar algorithms into roles_is_member_of().
Следующее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Fix ndistinct estimates with system attributes