| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
|---|---|
| To: | "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> | 
| Cc: | "Pgsql Hackers" <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: proposal: generic function, constructor function | 
| Date: | 2008-01-18 21:44:40 | 
| Message-ID: | 13166.1200692680@sss.pgh.pa.us | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
"Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com> writes:
> On 18/01/2008, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Can't you do that already with ANYELEMENT, or at the worst ANY?
> I would to have independent parameters and move type checking to
> function.
Okay, then you want ANY.
> Then I don't need register function exactly and then I can
> have different numbers of arguments.
The different-numbers-of-arguments bit is what I'm objecting to.
Just register the function as foo(ANY), foo(ANY,ANY), foo(ANY,ANY,ANY),
etc, and you're done without breaking anything else.
> we can use partial unique index, if it is possible - I didn't test it.
It's not --- partial indexes on system catalogs are not supported, and
pg_proc is certainly one catalog that that restriction will never be
relaxed for.  (How you going to execute a predicate without doing
function lookups?)  I don't believe that the constraint could be
expressed as a partial index predicate anyway --- how will you say
that foo(...) and foo(int) conflict, but foo(int) and foo(int,int)
don't?
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2008-01-18 21:57:52 | Re: Recent pg_regress changes break testing under SELinux | 
| Previous Message | Alvaro Herrera | 2008-01-18 21:40:03 | Re: Recent pg_regress changes break testing under SELinux |