Hello

2008/12/15 Rushabh Lathia <rushabh.lat...@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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to