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