Don't include outer join relids in lateral_relids bitmapsets.
commitefeb12ef0bfef0b5aa966a56bb4dbb1f936bda0c
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 20 Jun 2023 14:29:57 +0000 (20 10:29 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 20 Jun 2023 14:29:57 +0000 (20 10:29 -0400)
tree0c81a184f93fcb91be81707a56ea75883d718c4a
parent0655c03ef9cc6154b0b209059e758863dcf4e6b0
Don't include outer join relids in lateral_relids bitmapsets.

This avoids an assertion failure when outer joins are rearranged
per identity 3.  Listing only the baserels from a PlaceHolderVar's
ph_lateral set should be enough to ensure that the required values
are available when we need to compute the PHV --- it's what we
did before inventing nullingrel sets, after all.  It's a bit
unsatisfying; but with beta2 hard upon us, there's not time to
look for an aesthetically cleaner fix.

Richard Guo and Tom Lane

Discussion: https://postgr.es/m/CAMbWs48Jcw-NvnxT23WiHP324wG44DvzcH1j4hc0Zn+3sR9cfg@mail.gmail.com
src/backend/optimizer/plan/initsplan.c
src/test/regress/expected/join.out
src/test/regress/sql/join.sql