Re: Function with default value not replacing old definition of the function
От | Rushabh Lathia |
---|---|
Тема | Re: Function with default value not replacing old definition of the function |
Дата | |
Msg-id | 460abcb10812102325t37ac3c3q2011d78a50361ace@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Function with default value not replacing old definition of the function ("Pavel Stehule" <pavel.stehule@gmail.com>) |
Ответы |
Re: Function with default value not replacing old definition of the function
|
Список | pgsql-hackers |
On Thu, Dec 11, 2008 at 12:40 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
Ok, but what if I want to call a second function with the default values. How can I call that function with default values?
Hello
2008/12/11 Rushabh Lathia <rushabh.lathia@gmail.com>:> Hi,no, it's little bit different
>
> 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)
Default is only stored parameter value. You created two functions with
two different signatures
myfunc(int)
myfunc(int, int)
when you created function, we cannot check defaults, because we don't
know if anybody use default or not. And when you call function, then
postgres prefer function with most similar function.
Ok, but what if I want to call a second function with the default values. How can I call that function with default values?
regards
Pavel Stehule
>
> 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.
>
> select myfunc(10,10);
>
> myfunc
> ----------
> 200
> (1 row)
>
> I think second function should replace the old definition of the function,
> inputs ?
>
>
> Thanks,
> Rushabh Lathia
> www.EnterpriseDB.com
>
--
Rushabh Lathia
www.EnterpriseDB.com
В списке pgsql-hackers по дате отправления: