2009/6/4 Gevik Babakhani <pg...@xs4all.nl>:
> I was wondering what the philosophy is behind letting an "ambiguous"
> function be created in the first place. Is this for backwards compatibility
> or perhaps for historical reasons? Could someone clarify this please?
>

This is +/- for historical reasons. We used original algorithm for
ambiguous function identification.

regards
Pavel Stehule

>
> Consider the following example:
>
> (
> FYI:
> parse_func.c->ParseFuncOrColumn->164
> parse_func.c->ParseFuncOrColumn->810
> parse_func.c->ParseFuncOrColumn->836
> namespace.c->FuncnameGetCandidates->607
> namespace.c->FuncnameGetCandidates->826
> parse_func.c->ParseFuncOrColumn->224
> )
>
>
>
> -----------------------------------------------------------------------------
> create or replace function foo1(int,int default 1,int default 2) returns int
> as
> $$
>    select $1+$2+$3
> $$
> language sql;
>
>
> create or replace function foo1(int,int default 1) returns int as
> $$
>    select $1+$2
> $$
> language sql;
>
>
> select * from foo1(10,10)
>
> ERROR:  function foo1(integer, integer) is not unique
> LINE 15: select * from foo1(10,10)
>                       ^
> HINT:  Could not choose a best candidate function. You might need to add
> explicit type casts.
> -----------------------------------------------------------------------------
>
> --
> Regards,
> Gevik
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

-- 
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