Re: Function with defval returns error

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: Function with defval returns error
Дата
Msg-id 162867790812150115w1efd3960n7387127c6295118a@mail.gmail.com
обсуждение исходный текст
Ответ на Function with defval returns error  ("Rushabh Lathia" <rushabh.lathia@gmail.com>)
Список pgsql-hackers
Hello

2008/12/15 Rushabh Lathia <rushabh.lathia@gmail.com>:
> Hi All,
>
> Following test returns error on 8.4 cvs head.  it looks like an issue
>
> Testcase: (8.4 CVS head)
> ====================
>    CREATE OR REPLACE FUNCTION f007( a INTEGER,
>             b INTEGER DEFAULT 10 ) RETURNS INTEGER
>    AS $$
>        select 10;
>    $$ language sql;
>
>    CREATE OR REPLACE FUNCTION f007( a INTEGER DEFAULT 10,
>             b INTEGER DEFAULT 10,
>             c INTEGER DEFAULT 10) RETURNS INTEGER
>    AS $$
>        select 10;
>    $$ language sql;
>
>    CREATE OR REPLACE FUNCTION f007( a TIMESTAMP DEFAULT to_date('01-JUN-06
> 14:03:50', 'DD-MON-YY HH24:MI:SS') ) RETURNS TIMESTAMP
>    AS $$
>        select current_date::timestamp;
>    $$ language sql;
>
> postgres=# SELECT f007( to_date('01-JUN-06 14:03:50', 'DD-MON-YY
> HH24:MI:SS') );
> ERROR:  functions with parameter defaults f007(integer, integer, integer)
> and f007(integer, integer) are ambiguous
>
>
> I think this should not return error as the input args here is timestamp...
> inputs?
>

you are right - this is known problem - because postgresql identify
ambigonous calling and choise the best function in two places - simply
we identify ambigonous call to early (algoritm is more fast then
smart) - so ugly efect is identifivation of stored ambiguous functions
when you call other function with same name.

Pavel

> Thanks,
> Rushabh Lathia
> www.EnterpriseDB.com


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: Function with defval returns error
Следующее
От: Zeugswetter Andreas OSB sIT
Дата:
Сообщение: Re: WIP: default values for function parameters