Re: jsonb and nested hstore

From: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
To: Greg Stark <stark(at)mit(dot)edu>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Peter Geoghegan <pg(at)heroku(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Oleg Bartunov <obartunov(at)gmail(dot)com>, Tomas Vondra <tv(at)fuzzy(dot)cz>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: jsonb and nested hstore
Date: 2014-03-13 12:21:15
Message-ID: CAPpHfds4xmg5zOP+1CtrrqnM6wxhh2A7j11nnJeosa76UoWxyg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 13, 2014 at 1:21 PM, Greg Stark <stark(at)mit(dot)edu> wrote:

> Well these are just normal gin and gist indexes. If we want to come up
> with new index operator classess we can still do that and keep the old
> ones if necessary. Even that seems pretty unlikely from past experience.
>
> I'm actually pretty sanguine even about keeping the GIST opclass. If
> it has bugs then the bugs only affect people who use this non-default
> opclass and we can fix them. It doesn't risk questioning any basic
> design choices in the patch.
>
> It does sound like the main question here is which opclass should be
> the default. From the discussion there's a jsonb_hash_ops which works
> on all input values but supports fewer operators and a jsonb_ops which
> supports more operators but can't handle json with larger individual
> elements. Perhaps it's better to make jsonb_hash_ops the default so at
> least it's always safe to create a default gin index?
>

A couple of thoughts from me:
1) We can evade length limitation if GIN index by truncating long values
and setting recheck flag. We can introduce some indicator of truncated
value like zero byte at the end.
2) jsonb_hash_ops can be extended to handle keys queries too. We can
preserve one bit in hash as flag indicating whether it's a hash of key or
hash of path to value. For sure, such index would be a bit larger. Also,
jsonb_hash_ops can be split into two: with and without keys.

------
With best regards,
Alexander Korotkov.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Oleg Bartunov 2014-03-13 12:28:50 Re: jsonb and nested hstore
Previous Message Andres Freund 2014-03-13 12:12:14 Re: 9a57858f1103b89a5674f0d50c5fe1f756411df6