Re: what is good solution for support NULL inside string_to_array function?
От | Pavel Stehule |
---|---|
Тема | Re: what is good solution for support NULL inside string_to_array function? |
Дата | |
Msg-id | x2k162867791005040705z6f2979bds256cc3241e38d78d@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: what is good solution for support NULL inside string_to_array function? (Pavel Stehule <pavel.stehule@gmail.com>) |
Ответы |
Re: what is good solution for support NULL inside
string_to_array function?
|
Список | pgsql-hackers |
2010/5/4 Pavel Stehule <pavel.stehule@gmail.com>: > 2010/5/4 Tom Lane <tgl@sss.pgh.pa.us>: >> Josh Berkus <josh@agliodbs.com> writes: >>>> quietly removing NULL is maybe good for compatibility but is wrong for >>>> functionality. >> >>> I agree. I wasn't aware of this little misfeature. >> >>> Default display for NULL should be a zero-length string. >> >> That's just as broken as Pavel's suggestion. Unless you have something >> that is guaranteed distingishable from the output of any non-null value, >> you really can't make a significant improvement here. >> > > I wouldn't modify current two params string_to_array and > array_to_string function. So there are not any default string (maybe > empty string) for NULL. My proposal is new three params functions with >>>>explicit<<< "null string" definition. This cannot break > compatibility and enhance functionality - It is just short cut for > code from my proposal - in C this functionality can by implemented > much faster. I did some coding - the patch can be very simple postgres=# select array_to_string(array[1,2,3,4,5,null],',','*'); array_to_string ----------------- 1,2,3,4,5,* (1 row) Time: 0,501 ms postgres=# select string_to_array(array_to_string(array[1,2,3,4,5,null],',','*'),',','*'); string_to_array ------------------ {1,2,3,4,5,NULL} (1 row) Time: 0,617 ms postgres=# select string_to_array('1,2,3,4,5,*',',','*')::int[]; string_to_array ------------------ {1,2,3,4,5,NULL} (1 row) Time: 0,652 ms and then string_to_array and array_to_string are orthogonal with NULL. Pavel > > Regards > Pavel > >> regards, tom lane >> >
Вложения
В списке pgsql-hackers по дате отправления: