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

Reply via email to