On Fri, Jan 16, 2026 at 12:37 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
> My immediate reaction is "how sure are you that they're no-ops"?
> I recall that there are places where we intentionally insert PHVs
> to preserve the separate identity of the contained expression
> (so that, for example, it can be matched to a subquery output
> later).
The new phpreserved flag is used for that purpose, as explained in the
commit message and the code comments.
> Do we generate a PHV at all in that case? Seems like we could
> deal with that by adding to the Var's varnullingrels instead of
> making a wrapper node.
The Var can be a reference to something outside the subquery being
pulled up. If it is a reference to the non-nullable side, we'll have
to wrap it in a PHV to ensure that it is forced to null when the outer
join should do so.
- Richard