2014-02-26 20:36 GMT+01:00 Andrew Dunstan <and...@dunslane.net>:

>
> On 02/26/2014 01:51 PM, Josh Berkus wrote:
>
>> On 02/26/2014 10:15 AM, salah jubeh wrote:
>>
>>> I think, there is a difference between optional parameters and default
>>> parameter values. So, my suggestion would be something like this.
>>> SELECT default_test(1,3, DEFAULT); -- match function number 1
>>>
>>> SELECT default_test(1,3); -- match the function number 2
>>>
>>> SELECT default_test(1); -- ERROR
>>> Regards
>>>
>> This would break at least 4 major applications which I personally have
>> worked on, and the benefit to users is unclear at best.
>>
>> One of the main reasons to *have* default parameters is to allow adding
>> new parameters to existing functions without breaking old application
>> code.  So, -1 from me.
>>
>>
> me too.
>
> The OP's statement that there is a difference between default params and
> optional params doesn't compute. The only way params are optional is that
> they have a default. Treating these as somehow independent is a nonsense.
>
> Furthermore, if we dropped function 2, then
>
>     select default_test(1,3)
>
> would be a call to function 1. Then, if we followed this proposal,
> creating function 2 would magically steer that call to function 2 instead.
> Talk about a footgun, and possibly a security risk too.
>
>
more overloaded functions with similar type signature is just dangerous and
bad practice.

We would to disallow it.

Regards

Pavel


>
> cheers
>
> andrew
>
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

Reply via email to