[COMMITTERS] pgsql: Repair breakage of aggregate FILTER option.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема [COMMITTERS] pgsql: Repair breakage of aggregate FILTER option.
Дата
Msg-id E1e4B0L-0002yp-TX@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Repair breakage of aggregate FILTER option.

An aggregate's input expression(s) are not supposed to be evaluated
at all for a row where its FILTER test fails ... but commit 8ed3f11bb
overlooked that requirement.  Reshuffle so that aggregates having a
filter clause evaluate their arguments separately from those without.
This still gets the benefit of doing only one ExecProject in the
common case of multiple Aggrefs, none of which have filters.

While at it, arrange for filter clauses to be included in the common
ExecProject evaluation, thus perhaps buying a little bit even when
there are filters.

Back-patch to v10 where the bug was introduced.

Discussion: https://postgr.es/m/30065.1508161354@sss.pgh.pa.us

Branch
------
REL_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/72e9cc9715098e5e2b8c49b5707d876632bea2d3

Modified Files
--------------
src/backend/executor/nodeAgg.c           | 186 ++++++++++++++++++++-----------
src/include/nodes/execnodes.h            |   6 +-
src/test/regress/expected/aggregates.out |   6 +
src/test/regress/sql/aggregates.sql      |   2 +
4 files changed, 130 insertions(+), 70 deletions(-)


--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

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

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: [COMMITTERS] pgsql: Rework DefineIndex relkind check
Следующее
От: Tom Lane
Дата:
Сообщение: [COMMITTERS] pgsql: Allow the built-in ordered-set aggregates to share transitionst