Re: Function with default value not replacing old definition of the function

From: "Rushabh Lathia" <rushabh(dot)lathia(at)gmail(dot)com>
To: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, rushabh(dot)lathia(at)enterprisedb(dot)com
Subject: Re: Function with default value not replacing old definition of the function
Date: 2008-12-11 07:25:12
Message-ID: 460abcb10812102325t37ac3c3q2011d78a50361ace@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Dec 11, 2008 at 12:40 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>wrote:

> Hello
>
> 2008/12/11 Rushabh Lathia <rushabh(dot)lathia(at)gmail(dot)com>:
> > 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)
>
> no, it's little bit different
>
> 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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2008-12-11 07:29:19 Re: Function with default value not replacing old definition of the function
Previous Message MUHAMMAD ASIF 2008-12-11 07:19:20 Re: PLUGINS Functionlity in Win32 build scripts