Re: jsonb concatenate operator's semantics seem questionable

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: jsonb concatenate operator's semantics seem questionable
Дата
Msg-id 555BC978.1000302@BlueTreble.com
обсуждение исходный текст
Ответ на Re: jsonb concatenate operator's semantics seem questionable  (Marko Tiikkaja <marko@joh.to>)
Ответы Re: jsonb concatenate operator's semantics seem questionable  (Petr Jelinek <petr@2ndquadrant.com>)
Список pgsql-hackers
On 5/18/15 3:15 PM, Marko Tiikkaja wrote:
> On 2015-05-18 22:10, Josh Berkus wrote:
>> On 05/18/2015 01:04 PM, Ryan Pedela wrote:
>>> In the context of splitting shallow and deep merge into two operators, I
>>> think + is better for shallow and || better for deep. The reason for +
>>> is because many programming languages have this behavior. If I see the
>>> below code in language I have never used before:
>>>
>>> objC = objA + objB
>>>
>>> My default assumption is that + performs a shallow merge. Like I said, I
>>> would rather there just be one operator.
>>
>> Thank you, that helps.  Anyone else?
>
> If everyone thinks the operators mean different things, we could just
> not add any operators and only provide functions instead.

My $0.02: I would expect || to be what I want to use to add something to 
an existing JSON document, no matter what the path of what I'm adding 
is. In other words, deep merge. I certainly wouldn't expect it to be 
shallow.

If we get this wrong now, we'll be stuck with it forever. At a minimum I 
think we should use anything other than || until we can figure this out. 
That leaves || available for whichever case we decide on.

BTW, if people are set on shallow merge being || then I'd suggest ||| as 
the deep merge operator.
-- 
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com



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

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Change pg_cancel_*() to ignore current backend
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: INSERT ... ON CONFLICT DO UPDATE with _any_ constraint