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 по дате отправления: