pgsql: Fix pull_varnos to cope with translated PlaceHolderVars.
От | Tom Lane |
---|---|
Тема | pgsql: Fix pull_varnos to cope with translated PlaceHolderVars. |
Дата | |
Msg-id | E1mRJjr-00063d-Rz@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix pull_varnos to cope with translated PlaceHolderVars. Commit 55dc86eca changed pull_varnos to use (if possible) the associated ph_eval_at for a PlaceHolderVar. I missed a fine point though: we might be looking at a PHV in the quals or tlist of a child appendrel, in which case we need to compute a ph_eval_at value that's been translated in the same way that the PHV itself has been (cf. adjust_appendrel_attrs). Fortunately, enough info is available in the PlaceHolderInfo to make such translation possible without additional outside data, so we don't need another round of uglification of planner APIs. This is a little bit complicated, but since it's a hard-to-hit corner case, I'm not much worried about adding cycles here. Per report from Jaime Casanova. Back-patch to v12, like the previous commit. Discussion: https://postgr.es/m/20210915230959.GB17635@ahch-to Branch ------ REL_14_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/4d5b4483db1c6370861ca968edd753ab4dc03f9d Modified Files -------------- src/backend/optimizer/util/var.c | 41 +++++++++++++++++++++++++++++++++++--- src/test/regress/expected/join.out | 28 ++++++++++++++++++++++++++ src/test/regress/sql/join.sql | 16 +++++++++++++++ 3 files changed, 82 insertions(+), 3 deletions(-)
В списке pgsql-committers по дате отправления: