Re: [HACKERS] string_to_array with empty input

Поиск
Список
Период
Сортировка
От Brendan Jurd
Тема Re: [HACKERS] string_to_array with empty input
Дата
Msg-id 37ed240d0903302345u4dc2fa04id539d1b62046b922@mail.gmail.com
обсуждение исходный текст
Ответ на Re: string_to_array with empty input  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [HACKERS] string_to_array with empty input  (Sam Mason <sam@samason.me.uk>)
Re: string_to_array with empty input  (Greg Stark <stark@enterprisedb.com>)
Список pgsql-general
On Tue, Mar 31, 2009 at 2:26 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Does anyone want to argue for keeping it the same?  Or perhaps
> argue that a zero-element array is a more sensible result than
> a one-element array with one empty string?  (It doesn't seem
> like it to me, but maybe somebody thinks so.)
>

My first thought was that it should be a zero-element array, because
then the string_to_array() behaviour would conform to the notion that
it returns an array with 1 element per string fragment bounded by the
delimiter.

However, I note that if you provide an empty delimiter, or one which
doesn't occur anywhere in the source string, you get an array with one
element, being the entire source string.

# select string_to_array('1-2-3', '-');
 {1,2,3}

# select string_to_array('1-2-3', 'x');
 {1-2-3}

Given this behaviour, I would argue for consistent treatment for a
zero-length source string: it should return an array with one element,
being the entire source string, whenever there is no string splitting
to take place.  And if the source string happens to be zero-length,
then the return value would be as expected by the OP.

Cheers,
BJ

В списке pgsql-general по дате отправления:

Предыдущее
От: Greg Stark
Дата:
Сообщение: Re: string_to_array with empty input
Следующее
От: Thomas Pundt
Дата:
Сообщение: Re: partial TEXT search on an index