On Wed, Jul 21, 2010 at 12:39 AM, Itagaki Takahiro <itagaki.takah...@gmail.com> wrote: > 2010/7/20 Pavel Stehule <pavel.steh...@gmail.com>: >> here is a new version - new these functions are not a strict and >> function to_string is marked as stable. > > We have array_to_string(anyarray, text) and string_to_array(text, text), > and you'll introduce to_string(anyarray, text, text) and > to_array(text, text, text). > Do we think it is good idea to have different names for them? IMHO, we'd > better use 3 arguments version of array_to_string() instead of the > new to_string() ?
The worst part is that the new names are not very mnemonic. I think maybe what we really need here is array equivalents of COALESCE() and NULLIF(). It looks like the proposed to_string() function is basically equivalent to replacing each NULL entry with the array with a given value, and then doing array_to_string() as usual. And it looks like the proposed to_array function basically does the same thing as to_array(), and then replaces empty strings with NULL or some other value. Maybe we just need a function array_replace(anyarray, anyelement, anyelement) that replaces any element in the array that IS NOT DISTINCT FROM $2 with $3 and returns the new array. That could be useful for other things besides this particular case, too. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise Postgres Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers