On Fri, Jan 16, 2026 at 12:37 PM Tom Lane <[email protected]> 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
