which might be a more realistic thing if the query without the WHERE clause was part of a VIEW. However, we don't currently have any infrastructure to detect when a column *is* NULL. There's only the opposite with expr_is_nonnullable() or var_is_nonnullable().
But we'd still catch NULL constants, yes?
I've attached a very slightly revised version of the patch. I became aware of a function named get_func_support(), which can be used rather than fetching the pg_proc tuple from SysCache, which I was doing in v1. No other changes.
David
The change is a big win for clarity. Applies clean. Passes.