so 14. 3. 2020 v 14:26 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:
Pavel Stehule <pavel.stehule@gmail.com> writes: > pá 13. 3. 2020 v 23:42 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal: >> The reason that this might be controversial is that it forces a slightly >> less precise error detail message to be issued, since the call site that's >> throwing the error doesn't know exactly which rule was being violated. >> (For example, before there was a specific error message about anyrange >> result requiring an anyrange input, and now there isn't.)
> Unfortunately the error message " A function returning "anyrange" must have > at least one "anyrange" argument." will be missing.
Yeah, that's what I said. But does it really add anything beyond the proposed text "A function returning a polymorphic type must have at least one matching polymorphic argument"? I don't think it'd be terribly helpful to say "A function returning anyelement must have at least one anyelement, anyarray, anynonarray, anyenum, or anyrange argument", and for sure such an error message would be a pain to maintain.
The error message in your first patch is ok for all types without anyrange. A behave of this type is more strict and +/- different than from other polymorphic types.