Re: variadic function support
От | Jeff Davis |
---|---|
Тема | Re: variadic function support |
Дата | |
Msg-id | 1215929164.11352.55.camel@jdavis обсуждение исходный текст |
Ответ на | Re: variadic function support ("Pavel Stehule" <pavel.stehule@gmail.com>) |
Ответы |
Re: variadic function support
|
Список | pgsql-patches |
On Tue, 2008-06-24 at 17:10 +0200, Pavel Stehule wrote: > Hello > > this version implements syntax based on argmodes. > > > CREATE FUNCTION mleast(variadic numeric[]) RETURNS numeric AS $$ > SELECT min($1[i]) > FROM generate_subscripts($1,1) g(i); > $$ LANGUAGE SQL; > I don't have a strong opinion about whether the variadic argument is declared as an array or scalar, so I am posting my comments about this version of the patch as well. This version also has a problem when declaring two functions "foo(int)" and "foo(variadic int[])". In this version, the declaration is allowed but the backend crashes when the function is called. The variable "transform_variadic" should have some kind of comment. It seems to be there to distinguish between when you're looking for a candidate function for a function call, and when you're looking for a candidate function for, e.g., CREATE FUNCTION. It's a little hard to follow, and is probably the cause for the aformentioned crash. Also, it doesn't seem to allow calls to a variadic function with zero arguments, e.g. "mleast()". I think this should be allowed. I suggest the following error message rewording: "variadic argument isn't an array" should be something like: "variadic argument must be an array". Regards, Jeff Davis
В списке pgsql-patches по дате отправления: