diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2021-09-17 15:41:16 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2021-09-17 15:41:16 -0400 |
commit | a21049fd3f64518c8a7227cf07c56f2543241db2 (patch) | |
tree | 77bf24d154b3884faea705820e1919e9d66ba767 /src/backend/tcop/postgres.c | |
parent | cddcf7842c31b4d07ca75439f6b4ddacaadbbd0d (diff) | |
download | postgresql-a21049fd3f64518c8a7227cf07c56f2543241db2.tar.gz postgresql-a21049fd3f64518c8a7227cf07c56f2543241db2.zip |
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
Diffstat (limited to 'src/backend/tcop/postgres.c')
0 files changed, 0 insertions, 0 deletions