Hi Bhuvan,
Thanks for the report and the patch. I can reproduce all five queries
on master and on 19rc1.
This came in with 25a30bbd423. I think it belongs on the 19 open items.
https://wiki.postgresql.org/wiki/PostgreSQL_19_Open_Items
With your patch all five return at once and the regression tests
pass. I also compared the three functions against array_agg(x) FILTER
(WHERE x IS NOT NULL) over about 11k frame combinations. That included
spill to disk and volatile arguments. No differences.
One suggestion for the test. Could you add last_value IGNORE NULLS
with EXCLUDE TIES and no ORDER BY? It scans backward, so it would
catch a later fix in row_is_in_frame that returns -1 for every
position after the current row.
Thanks,
Shihao