On Thu, Mar 3, 2016 at 2:31 AM, Dmitry Dolgov <9erthali...@gmail.com> wrote: > Well, actually, I agree with that. I can try to rework the patch to achieve > this goal.
Good idea. I wonder, having taken a quick look at the patch, how this works?: +select * from test_jsonb_subscript where test_json['key_doesnt_exists'] = '"value"'; + id | test_json +----+----------- +(0 rows) Can this use an index, in principle? If not, do you have a plan to get it to a place where it can? How can the expression be made to map on to existing indexable operators, such as the containment operator @>, or even B-Tree opclass operators like = or <=, for example? This kind of thing was always my main problem with jsonb array-style subscription. I think it's really quite desirable in theory, but I also think that these problems need to be fixed first. Think that I made this point before. ISTM that these expressions need to be indexable in some way, which seems like a significantly harder project, especially because the mapping between an expression in a predicate like this and an indexable operator like @> is completely non-obvious. Making such a mapping itself extensible seems even more tricky, which is what it would take, I suspect. Indexing is always of great importance for jsonb. It's already too complicated. -- Peter Geoghega -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers