Re: jsonb and nested hstore

From: Oleg Bartunov <obartunov(at)gmail(dot)com>
To: Alexander Korotkov <aekorotkov(at)gmail(dot)com>
Cc: Greg Stark <stark(at)mit(dot)edu>, Bruce Momjian <bruce(at)momjian(dot)us>, Peter Geoghegan <pg(at)heroku(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, 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:28:50
Message-ID: CAF4Au4x5jR3+tWfTCqC5v6M4xjV94DjMfdX6UpLrmQDfLdnweQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Mar 13, 2014 at 4:21 PM, Alexander Korotkov
<aekorotkov(at)gmail(dot)com> wrote:
> 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.

That's right ! Should we do these now, that's the question.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2014-03-13 12:42:00 Re: jsonb and nested hstore
Previous Message Alexander Korotkov 2014-03-13 12:21:15 Re: jsonb and nested hstore