> While I understand why this is confusing, it's really very normal
> behavior for a SRF, and I don't really think it makes sense to
> document that this SRF behaves just like other SRFs...
It's likely to be used by people who do not otherwise use SRFs, and many
would not be prepared for the consequences. It's not instinctive that a
regexp function would be an SRF in any case; if someone is not looking
closely at the docs, it would be easy to miss this entirely -- as 3
experienced PG people did yesterday.
Personally, I also think that PostgreSQL is wrong to allow an SRF in the
target list to restrict the number of rows output. A subselect in the
target list does not do so. However, that's completely another discussion.
--Josh Berkus