pgsql: Fix missed step in removal of useless RESULT RTEs in the planner

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Fix missed step in removal of useless RESULT RTEs in the planner
Дата
Msg-id E1kleuv-0002Ac-J4@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Fix missed step in removal of useless RESULT RTEs in the planner.

Commit 4be058fe9 forgot that the append_rel_list would already be
populated at the time we remove useless result RTEs, and it might contain
PlaceHolderVars that need to be adjusted like the ones in the main parse
tree.  This could lead to "no relation entry for relid N" failures later
on, when the planner tries to do something with an unadjusted PHV.

Per report from Tom Ellis.  Back-patch to v12 where the bug came in.

Discussion: https://postgr.es/m/20201205173056.GF30712@cloudinit-builder

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/7d43b76f6ed97b3b27f30114636f7b116009ef61

Modified Files
--------------
src/backend/optimizer/prep/prepjointree.c |  1 +
src/test/regress/expected/join.out        | 36 +++++++++++++++++++++++++++++++
src/test/regress/sql/join.sql             | 22 +++++++++++++++++++
3 files changed, 59 insertions(+)


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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Fix race conditions in newly-added test.
Следующее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix fd leak in pg_verifybackup