I can't find any good documentation of this in the source tree
anywhere. placeholder.c just says:
*PlaceHolderVar and PlaceHolderInfo manipulation routines
and placeholder.h says:
*prototypes for optimizer/util/placeholder.c.
...which is less than informative. The commit
Robert Haas robertmh...@gmail.com writes:
...but I'm still having a hard time wrapping my head around it.
The fundamental point is to be able to force a value to go to NULL
when outer-join logic says it ought to. Consider
CREATE VIEW foo AS SELECT x,y,'zed' FROM bar;
SELECT *