Re: [GENERAL] string_to_array with empty input

Поиск
Список
Период
Сортировка
От Sam Mason
Тема Re: [GENERAL] string_to_array with empty input
Дата
Msg-id 20090401182709.GF12225@frubble.xen.chris-lamb.co.uk
обсуждение исходный текст
Ответ на Re: [GENERAL] string_to_array with empty input  ("David E. Wheeler" <david@kineticode.com>)
Список pgsql-hackers
On Wed, Apr 01, 2009 at 10:23:18AM -0700, David E. Wheeler wrote:
> On Apr 1, 2009, at 10:05 AM, justin wrote:
> >string_to_array('',',')::INT[]  works as proposed
> >
> >But
> >string_to_array(',,,', ',' )::INT[]   Fails
> >or
> >string_to_array('1,2,,4', ',' )::INT[] Fails .
> >
> >
> >I'm trying to understand the difference between a empty string to a
> >string with  many blank entries between  the delimiter.
> >Consider   ',,,,,,'  = ''  once the delimiter is removed .  Yet
> >Seven zero length entries were passed.  How is that going to be
> >handled????
>
> Right, it's making a special case of '', which does seem rather
> inconsistent to me.

Yes it is; but it's a useful special case because it allows:

  string_to_array(array_to_string(col,','),',')

to do the right thing whether it's got zero or more elements in.  With
the current implementation you get a NULL back in the case of zero
elements and the expected array back the rest of the time.

To me, it doesn't really matter whether:

  string_to_array(',', ',' )::INT[]

fails or not; because array_to_string will never generate a string that
looks like this.

--
  Sam  http://samason.me.uk/

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

Предыдущее
От: "Vincze, Tamas"
Дата:
Сообщение: Re: Patch to speed up pg_dump
Следующее
От: Greg Stark
Дата:
Сообщение: Re: [GENERAL] string_to_array with empty input