From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
---|---|
To: | Josh Berkus <josh(at)agliodbs(dot)com> |
Cc: | salah jubeh <s_jubeh(at)yahoo(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Function sugnature with default parameter |
Date: | 2014-02-26 19:36:36 |
Message-ID: | 530E4244.4090300@dunslane.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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.
cheers
andrew
From | Date | Subject | |
---|---|---|---|
Next Message | Stephen Frost | 2014-02-26 19:37:24 | Re: [PATCH] Use MAP_HUGETLB where supported (v3) |
Previous Message | Leon Smith | 2014-02-26 19:15:35 | Re: Simplified VALUES parameters |