Re: proposal: fix corner use case of variadic fuctions usage
| От | Pavel Stehule |
|---|---|
| Тема | Re: proposal: fix corner use case of variadic fuctions usage |
| Дата | |
| Msg-id | CAFj8pRBbK15fBNVdWB_r6d5JRxm3i4QEHxrb7dsvLyGdJBp+ig@mail.gmail.com обсуждение исходный текст |
| Ответ на | Re: proposal: fix corner use case of variadic fuctions usage (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: proposal: fix corner use case of variadic fuctions usage
|
| Список | pgsql-hackers |
Hello
I sent a updated patch, but still I am not sure in one topic
> Also, I'm not sure that it's appropriate to throw an error if the given
> argument is null or not an array. Previous versions did not throw an
> error in such cases. Perhaps just fall back to behaving as if it
> weren't marked VARIADIC? You could possibly make an argument for
> not-an-array-type being an error, since that's a statically inconsistent
> type situation, but I really don't like a null value being an error.
> A function could easily receive a null value for an array parameter
> that it wants to pass on to format() or concat().
what should be result of concat(variadic NULL::int[])
I enabled this use case, but what should be result?
usually concat() function needs one parameter as minimum and then
returns empty string or some string. But concat(variadic NULL::int[])
is +/- zero parameters call. A result should be empty string or NULL?
I am vote returning NULL and I have a only one argument
If concat(variadic NULL::int[]) returns NULL, then it returns
different "value" than concat(variadic '{}'::int[]) what is correct.
Opposite behave returns empty string in both variants and It is some
when I don't feel well.
Regards
Pavel
В списке pgsql-hackers по дате отправления: