Re: variadic function support
От | Tom Lane |
---|---|
Тема | Re: variadic function support |
Дата | |
Msg-id | 7480.1214275269@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: variadic function support (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: variadic function support
Re: variadic function support Re: variadic function support |
Список | pgsql-patches |
Andrew Dunstan <andrew@dunslane.net> writes: > But if I have > foo( a text, b int[]) > it looks odd if both these calls are legal: > foo('a',1,2,3,) > foo('a',ARRAY[1,2,3]) > which I understand would be the case with the current patch. Maybe I misunderstand what is supposed to happen, but I believe that if the function is marked VARIADIC then the second case would in fact be rejected: the signature of the function for parameter-matching purposes is text followed by one or more ints, never text and int[]. > I'm also still curious to know how the following would be handled: > foo(a text[], b text[]) I think a is just text[], full stop. Only the last parameter is interpreted differently for variadic. Your point about the syntax is good though. It would be better if the syntax were like create function foo (a text, variadic b int[]) or maybe even better create function foo (a text, variadic b int) since (a) this makes it much more obvious to the reader what the function might match, and (b) it leaves the door open for marking multiple parameters as variadic, if we can figure out what that means. regards, tom lane
В списке pgsql-patches по дате отправления: