Hi

čt 7. 8. 2025 v 15:30 odesílatel David G. Johnston <
[email protected]> napsal:

> On Thursday, August 7, 2025, Dominique Devienne <[email protected]>
> wrote:
>>
>>
>> What's not nice is in the way it failed IMHO. I guess I persist it's
>> not a user friendly message :)
>
>
> Then write the error message you would have liked to see.
>
>
>>
>> Can you overload a function solely by changing an argument name?
>
>
> No, the signature is only the name and input argument types.
>
>
>> If not, as I suspect, then function lookup doesn't strictly depend on
>> argument names (like in C++).
>> So the function did exist, with the correct "signature" (ignoring
>> argument names).
>> And I was "just" using the wrong arg-name. That tripped me up.
>
>
> How is it “just” an argument name when you are using named argument syntax?
>
> David J.
>
>
(2025-08-07 15:58:24) postgres=# select fx(b=>10);
ERROR:  function fx(b => integer) does not exist
LINE 1: select fx(b=>10);
               ^
HINT:  No function matches the given name and argument types. You might
need to add explicit type casts.

The error message and hint is simillary unfriendly like for a case with
unnamed parameters. I am afraid that implementing a more friendly error
message can slow down the query execution :-/. Now we raise errors when we
know, so we didn't find a good signature, but we don't know what is wrong,
so it is difficult to raise errors in the sense that the name of the
argument is wrong.

Regards

Pavel

Reply via email to