Fix thinko in qual distribution.
commit9f452feeeb830534dc2ce743a2a14b109128326d
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 4 Feb 2023 22:40:35 +0000 (4 17:40 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 4 Feb 2023 22:40:35 +0000 (4 17:40 -0500)
tree5df0088c54b7565fddabab435e8028b4228957fd
parent8538519db107777a6b06b7277185e6605caf8d4c
Fix thinko in qual distribution.

deconstruct_distribute tweaks the outer join scope (ojscope)
it passes to distribute_qual_to_rels when considering an outer
join qual that's above potentially-commutable outer joins.
However, if the current join is *not* potentially commutable,
we shouldn't do that.  The argument that distribute_qual_to_rels
will not do something wrong with the bogus ojscope falls flat
if we don't pass it non-null postponed_oj_qual_list.  Moreover,
there's no need to play games in this case since we aren't going
to commute anything.

Per SQLSmith testing by Robins Tharakan.

Discussion: https://postgr.es/m/CAEP4nAw74k4b-=93gmfCNX3MOY3y4uPxqbk_MnCVEpdsqHJVsg@mail.gmail.com
src/backend/optimizer/plan/initsplan.c
src/test/regress/expected/join.out
src/test/regress/sql/join.sql