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: | Raw Message | Whole Thread | 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 |