Unexpected behavior of jsonb_set() with a `null` value

Поиск
Список
Период
Сортировка
От Марк
Тема Unexpected behavior of jsonb_set() with a `null` value
Дата
Msg-id CAOA+1AxbrhVm0HBTDcB97Gmtwp2Nc_qUv2tTbKESusoAQVBexw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Unexpected behavior of jsonb_set() with a `null` value
Список pgsql-bugs
Dear Support Team,

With `jsonb_set()`, when `new_value` is `NULL`, the function would *erase the whole object*:

postgres=# SELECT jsonb_set('{"something":1}'::jsonb, '{language}', null, true);         
jsonb_set  
-----------
 
(1 row)

This is really dangerous for it may lead to data loss. Imaging the `new_value` argument being a function which returns `NULL` values in some cases.
The expected behavior is, perhaps, to convert an SQL `NULL` value to JSONB null value: 'null'::jsonb
This way no data would be lost.

Or at the very least, this behavior should be documented.

Thank you in advance,
Mark

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

Предыдущее
От: PG Bug reporting form
Дата:
Сообщение: BUG #16003: pg_basebackup failed with error : directory "xxxxxxx" exists but is not empty
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #16004: New Version pgrouting_96-2.6.3-1 has dependency to postgis25_96 in postgresql.org-Channel