pgsql: Fix "wrong varnullingrels" for subquery nestloop parameters.
От | Tom Lane |
---|---|
Тема | pgsql: Fix "wrong varnullingrels" for subquery nestloop parameters. |
Дата | |
Msg-id | E1q8i6x-001PwK-3z@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Fix "wrong varnullingrels" for subquery nestloop parameters. If we apply outer join identity 3 when relation C is a subquery having lateral references to relation B, then the lateral references within C continue to bear the original syntactically-correct varnullingrels marks, but that won't match what is available from the outer side of the nestloop. Compensate for that in process_subquery_nestloop_params(). This is a slightly hacky fix, but we certainly don't want to re-plan C in toto for each possible outer join order, so there's not a lot of better alternatives. Richard Guo and Tom Lane, per report from Markus Winand Discussion: https://postgr.es/m/DFBB2D25-DE97-49CA-A60E-07C881EA59A7@winand.at Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/bfd332b3fda5c73e28c05b7ba0aac6cf053cdf00 Modified Files -------------- src/backend/optimizer/plan/setrefs.c | 8 ++++--- src/backend/optimizer/util/paramassign.c | 36 +++++++++++++++++++++++++------- src/test/regress/expected/join.out | 18 ++++++++++++++++ src/test/regress/sql/join.sql | 7 +++++++ 4 files changed, 59 insertions(+), 10 deletions(-)
В списке pgsql-committers по дате отправления: