Re: Function sugnature with default parameter - Mailing list pgsql-hackers

From Pavel Stehule
Subject Re: Function sugnature with default parameter
Date
Msg-id CAFj8pRCpjxOZ+MDvwcThCom6as42ovpGXsu89_tL0ciq3F6_Xw@mail.gmail.com
Whole thread Raw
In response to Re: Function sugnature with default parameter  (Andrew Dunstan <andrew@dunslane.net>)
List pgsql-hackers



2014-02-26 20:36 GMT+01:00 Andrew Dunstan <andrew@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

pgsql-hackers by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: jsonb and nested hstore
Next
From: David Johnston
Date:
Subject: Re: Simplified VALUES parameters