Further tighten nullingrel marking rules in build_joinrel_tlist().

Tom Lane <tgl@sss.pgh.pa.us>

Commit: d1c9c864fc042412e9b674d79a0e70972053ce15
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2023-02-08T19:45:36Z
Releases: 16.0
Further tighten nullingrel marking rules in build_joinrel_tlist().

The code I added in fee7b77b9 could misbehave if commute_above_r
contains multiple relids.  While adding too many relids here is
probably harmless (pre-fee7b77b9, we did it all the time), it's
not very expensive to be accurate: we just have to intersect
commute_above_r with the join's relids.

Discussion: https://postgr.es/m/17781-c0405c8b3cd5e072@postgresql.org

Files

PathChange+/−
src/backend/optimizer/util/relnode.c modified +11 −9

Discussion