Re: patch: to_string, to_array functions - Mailing list pgsql-hackers

From Brendan Jurd
Subject Re: patch: to_string, to_array functions
Date
Msg-id AANLkTilErHj70iAqB238IbpQsKB2m20qvHaOioqxwfeG@mail.gmail.com
Whole thread Raw
In response to patch: to_string, to_array functions  (Pavel Stehule <pavel.stehule@gmail.com>)
Responses Re: patch: to_string, to_array functions
List pgsql-hackers
On 6 May 2010 04:42, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> attached patch contains to_string and to_array functions. These
> functions are equivalent of array_to_string and string_to_array
> function with maybe more correct NULL handling.

Hi Pavel,

I am reviewing your patch for the commitfest.

Overall the patch looks good, although there were some bogus
whitespace changes in the patch and some messy punctuation/grammar in
some of the code comments.  I also thought it was worth mentioning in
the docs the default value for null_string is ''.  I made an attempt
to clean those items up and have attached a v2 of the patch.

Regarding the behaviour of the third argument (null_string), I was a
little surprised by the results when I passed in a NULL.

postgres=# select to_string(array['a', 'b', 'c', 'd'], '/', NULL);
 to_string
-----------

Now, if the array had some NULL elements in it, I could understand why
the resulting string would be NULL (because str || NULL is NULL), but
in this case there are no NULLs.  Why is the result NULL?  Surely it
should be 'a/b/c/d' regardless of how the third parameter is set?

In the reverse case:

postgres=# select to_array('a/b/c/d', '/', NULL);
 to_array
----------

(1 row)

Again I find this a bit weird.  I have left the null_string NULL,
which means it is unknown.  It can't possibly match any value in the
string, so effectively passing in a NULL null_string should mean that
the user doesn't want any string items whatsoever to translate into
NULLs in the resulting array.  I would expect this call to return
{a,b,c,d}.

Cheers,
BJ

Attachment

pgsql-hackers by date:

Previous
From: Markus Wanner
Date:
Subject: Re: imessages up-date
Next
From: Jan Urbański
Date:
Subject: review: psql: edit function, show function commands patch