Обсуждение: pgsql: Prohibit pushing subqueries containing window functioncalculati

Поиск
Список
Период
Сортировка

pgsql: Prohibit pushing subqueries containing window functioncalculati

От
Amit Kapila
Дата:
Prohibit pushing subqueries containing window function calculation to
workers.

Allowing window function calculation in workers leads to inconsistent
results because if the input row ordering is not fully deterministic, the
output of window functions might vary across workers.  The fix is to treat
them as parallel-restricted.

In the passing, improve the coding pattern in max_parallel_hazard_walker
so that it has a chain of mutually-exclusive if ... else if ... else if
... else if ... IsA tests.

Reported-by: Marko Tiikkaja
Bug: 15324
Author: Amit Kapila
Reviewed-by: Tom Lane
Backpatch-through: 9.6
Discussion: https://postgr.es/m/CAL9smLAnfPJCDUUG4ckX2iznj53V7VSMsYefzZieN93YxTNOcw@mail.gmail.com

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/f658235a448aa9462249f9d3448168be1e63a55f

Modified Files
--------------
src/backend/optimizer/util/clauses.c          | 14 ++++++++++++++
src/test/regress/expected/select_parallel.out | 23 +++++++++++++++++++++++
src/test/regress/sql/select_parallel.sql      |  5 +++++
3 files changed, 42 insertions(+)