Re: mogrify and indent features for jsonb

Поиск
Список
Период
Сортировка
От Thom Brown
Тема Re: mogrify and indent features for jsonb
Дата
Msg-id CAA-aLv4J=1ew_Do1MRKjMQVQpnNMS=wspaWjHS2hymuaFeoxTg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: mogrify and indent features for jsonb  (Josh Berkus <josh@agliodbs.com>)
Список pgsql-hackers
On 24 February 2015 at 19:16, Josh Berkus <josh@agliodbs.com> wrote:

> Is there a way to take the json:
>
> '{"a": 1, "b": 2, "c": {"type": "json", "stuff": "test"}, "d":
> ["aa","bb","cc","dd"]}'
>
> and add "ee" to "d" without replacing it?  I can think of ways of
> currently doing it, but it's very convoluted just for pushing a value to
> an array.

Can you think of a reasonable syntax for doing that via operators?  I
can imagine that as a json_path function, i.e.:

jsonb_add_to_path(jsonb, text[], jsonb)

or where the end of the path is an array:

jsonb_add_to_path(jsonb, text[], text|int|float|bool)

But I simply can't imagine an operator syntax which would make it clear
what the user intended.

No, there probably isn't a sane operator syntax for such an operation.  A function would be nice.  I'd just want to avoid hacking away at arrays by exploding them, adding a value then re-arraying them and replacing the value.
 
--
Thom

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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Merge compact/non compact commits, make aborts dynamically sized
Следующее
От: Michael Meskes
Дата:
Сообщение: Re: Dereferenced pointer checks in data.c of ECPG