pgsql: Skip system attributes when applying mvdistinct stats

Поиск
Список
Период
Сортировка
От Tomas Vondra
Тема pgsql: Skip system attributes when applying mvdistinct stats
Дата
Msg-id E1iVmz5-0002ca-Tu@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Skip system attributes when applying mvdistinct stats

When estimating number of distinct groups, we failed to ignore system
attributes when matching the group expressions to mvdistinct stats,
causing failures like

  ERROR: negative bitmapset member not allowed

Fix that by simply skipping anything that is not a regular attribute.
Backpatch to PostgreSQL 10, where the extended stats were introduced.

Bug: #16111
Reported-by: Tuomas Leikola
Author: Tomas Vondra
Backpatch-through: 10
Discussion: https://postgr.es/m/16111-687799584c3a7e73@postgresql.org

Branch
------
REL_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/0b0f281cc0fe383162b170889e79502e21e6b35a

Modified Files
--------------
src/backend/utils/adt/selfuncs.c        | 19 ++++++++++++++-----
src/test/regress/expected/stats_ext.out | 12 ++++++++++++
src/test/regress/sql/stats_ext.sql      |  4 ++++
3 files changed, 30 insertions(+), 5 deletions(-)


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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Skip system attributes when applying mvdistinct stats
Следующее
От: Tomas Vondra
Дата:
Сообщение: pgsql: Properly determine length for on-disk TOAST values