Re: Question about FUNCDETAIL_MULTIPLE

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Gevik Babakhani <pgdev(at)xs4all(dot)nl>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Question about FUNCDETAIL_MULTIPLE
Date: 2009-06-04 12:42:40
Message-ID: 162867790906040542v64ae9c43j56578dfad9a16cd7@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2009/6/4 Gevik Babakhani <pgdev(at)xs4all(dot)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(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrew Dunstan 2009-06-04 12:44:43 Re: It's June 1; do you know where your release is?
Previous Message pg 2009-06-04 11:53:10 Re: Improving the ngettext() patch