Re: patch: to_string, to_array functions

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: patch: to_string, to_array functions
Date: 2010-07-12 08:33:19
Message-ID: AANLkTinBVCMlbxWISvu_0fW3CMnIx_LX8-lGLWjzOZo-@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2010/7/12 Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>:
> 2010/7/12 Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>:
>> I prefere a new names  - because there are a new behave - with little
>> bit better default handling of NULL values. string_to_array and
>> array_to_string just ignore NULL values - what isn't correct behave.
>> Later we can mark these functions as deprecated and remove it. If I
>> use current function, then we have to continue in current behave.
>
> I prefer existing names because your new default behavior can be done
> with suitable nullstr values. IMHO, new names will be acceptable only if
> they are listed in the SQL-standard or many other databases use the
> names. Two similar versions of functions must confuse users.

there is different default behave. So if you don't need to use a third argument

>
> Also, are there any consensus about "existing functions are not correct" ?
> Since string_agg() and your new concat() functions ignores NULLs,
> I think it is not so bad for array_to_string() to ignore NULLs.

string_agg is a aggregate function - there are NULLS ignored usually,
concat simulate MySQL behave - and more, there are not problem to use
a coalesce function. string_to_arrays and array_to string are
different - there you cannot use a coalesce. Why string_to_array and
array_to_strings are not correct? a) what is correct sample of using a
array_to_string with NULL ignoring?? Usually, when you have a NULL in
array, you don't want to loose this value. b) for me - these functions
are some of serialisation/deserialisation functions - usually people
don't want to miss any value.

I searching in history - my first proposal was similar to your:

http://www.mail-archive.com/pgsql-hackers(at)postgresql(dot)org/msg151474.html
http://www.mail-archive.com/pgsql-hackers(at)postgresql(dot)org/msg151503.html !!

if you look on this thread, you can see so I was unsure and confused
too - but now I inclinded to Merlin's proposal

shortly:
* string_to_array/array_to_string ignore nulls
* others not aggregates not ignore nulls
* default for NULL isn't "NULL" but empty string - like csv

regards

Pavel Stěhule

>
> --
> Itagaki Takahiro
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Thom Brown 2010-07-12 08:42:36 Re: [PATCH] Re: Issue: Deprecation of the XML2 module 'xml_is_well_formed' function
Previous Message Itagaki Takahiro 2010-07-12 08:17:01 Re: (9.1) btree_gist support for searching on "not equals"