On Thu, Dec 11, 2008 at 12:33 PM, Peter Eisentraut <[EMAIL PROTECTED]> wrote:
> Rushabh Lathia wrote: > >> Hi, >> >> Testcase: (8.4 CVS head) >> ==================== >> >> CREATE OR REPLACE FUNCTION myfunc(y int) >> RETURNS INTEGER AS $$ >> select 100; >> $$ language sql; >> >> CREATE OR REPLACE FUNCTION myfunc(y int, x integer DEFAULT 100) >> RETURNS INTEGER AS $$ >> select 200; >> $$ language sql; >> >> select myfunc(10); >> >> myfunc >> ---------- >> 100 >> (1 row) >> >> When create the same function again by added one default value, while >> calling the function old function getting called. >> >> It seems that, function with defval not making any sense, if we want to >> call the new function then we need to pass defval as well. >> > > Hmm, good point, but I'm not sure that replacing the old function is always > right. For example, someone recently requested being able to say > > select myfunc(10, DEFAULT); Hmm, good point. > > > so there would be some value to having both variants. > > Do you have any comparisons with other systems (Oracle?) or other > programming languages? Yes Oracle replace the old definition of the function with the new one. -- Rushabh Lathia www.EnterpriseDB.com