This feature adds RESPECT NULLS and IGNORE NULLS syntax to several
window functions, according to the SQL Standard.
Unlike the last time this was attempted[1], my version does not hardcode
the spec's list of functions that this applies to. Instead, it accepts
it for all true window functions (that is, it does not apply to
aggregates acting as window functions).
This patch also does not attempt to solve the FROM LAST problem. That
remains unimplemented.
For the CREATE FUNCTION syntax, I used TREAT NULLS so as to avoid
creating new keywords.
The second patch adds some new window functions in order to test that
the null treatment works correctly for cases that aren't covered by the
standard functions but that custom functions might want to use. It is
*not* intended to be committed; I am only submitting the first patch for
inclusion in core.
This is based off of 324435eb14.
[1]
https://www.postgresql.org/message-id/CAGMVOdsbtRwE_4%2Bv8zjH1d9xfovDeQAGLkP_B6k69_VoFEgX-A%40mail.gmail.com
--
Vik Fearing