Re: jsonb_set array append hack?
От | Thom Brown |
---|---|
Тема | Re: jsonb_set array append hack? |
Дата | |
Msg-id | CAA-aLv5n=K_8y+-cSwLgxrQpjVdGUfgpyoM5MgpxN5eqyAeMZg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: jsonb_set array append hack? (Andrew Dunstan <andrew@dunslane.net>) |
Ответы |
Re: jsonb_set array append hack?
|
Список | pgsql-hackers |
On 21 September 2015 at 22:21, Andrew Dunstan <andrew@dunslane.net> wrote:
On 09/21/2015 12:13 PM, Dmitry Dolgov wrote:> I would expect some kind of error. We're trying to address a position in an array, and we're instead passing a key. If it completes successfully, the chances are it isn't what the user intended.
Thanks for the explanation. So, basically, it should be like this, am I right?
postgres=# SELECT jsonb_set(
'{"name": "Joe", "vehicle_types": ["car", "van"]}'::jsonb,
'{vehicle_types, nonsense}',
'"motorcycle"', true);
ERROR: path element at the position 2 is not an integer
That seems reasonable. For that matter, we should probably disallow NULL path elements also, shouldn't we?
I'd say yes. If someone really wants to name a field "null", they'll just have to quote it in the path. (e.g. '{contact,"null"}')
--
Thom
В списке pgsql-hackers по дате отправления: