JSONB operator unanticipated behaviour

Поиск
Список
Период
Сортировка
От Brian Mendoza
Тема JSONB operator unanticipated behaviour
Дата
Msg-id CALWFwZ0GG_5fUCXfLMTMSZjO0VnrL=r2sHPJ_9Sr1623_5MP=w@mail.gmail.com
обсуждение исходный текст
Ответы Re: JSONB operator unanticipated behaviour
Список pgsql-general
Hello,

I have encountered unanticipated behaviour with a JSONB operator, and wanted to make sure I am not misunderstanding its intended use.

When using the @> operator, I get this result.

select '{"a": [1]}'::jsonb @> '{"a": []}'::jsonb;
 ?column?
----------
 t
(1 row)

However, given the phrasing in the documentation, I would have expected False.

"Does the left JSON value contain the right JSON path/value entries at the top level?"

Particularly given the following:

select '[1]'::jsonb = '[]'::jsonb;
 ?column?
----------
 f
(1 row)

So the keys are the same, the values (when compared directly) are not, but @> returns True. Have I misunderstood the usage of the operator?

The above queries have been run on postgres 14, if that helps.

--
Brian Mendoza
brian@rotamap.net

Rotamap
www.rotamap.net
020 7631 1555
3 Tottenham Street London W1T 2AF
Registered in England No. 04551928

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

Предыдущее
От: Victor Nordam Suadicani
Дата:
Сообщение: Is there a good way to handle sum types (or tagged unions) in PostgreSQL?
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: Is there a good way to handle sum types (or tagged unions) in PostgreSQL?