On 18/01/2008, Tom Lane <[EMAIL PROTECTED]> wrote: > "Pavel Stehule" <[EMAIL PROTECTED]> writes: > > On 18/01/2008, Tom Lane <[EMAIL PROTECTED]> 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.
It's what I unlike - but maybe. But I am not able create function with ANY params. Is it possible do it via CREATE FUNCTION .. ? > > > 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? > no, I spoke about constraint - there can be only one function foo(anyparams) or any current functions. So lookup find nearest function or find generic function. Current implementation ensure unique params for overloaded functions without unique index too - so I thing Its possible. It's same mechanism. regards Pavel Stehule > regards, tom lane > ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly