I wrote: > Another idea would be to change the definition of the exists operator > so that it *does* look into sub-objects. It seems rather random to me > that containment looks into sub-objects but exists doesn't. However, > possibly there are good reasons for the non-orthogonality.
No, wait, containment *doesn't* look into sub-objects: regression=# select * from j where f1 @> '{"foo": {"bar": "baz"}}'; f1 ------------------------- {"foo": {"bar": "baz"}} (1 row) regression=# select * from j where f1 @> '{"bar": "baz"}'; f1 ---- (0 rows) This is rather surprising in view of the way that section 8.14.4 goes on about nesting. But I guess the user-facing docs for jsonb are in little better shape than the internal docs. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers