Re: Schizophrenic coding in gin_extract_jsonb(_hash) - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Schizophrenic coding in gin_extract_jsonb(_hash)
Date
Msg-id 28555.1399476449@sss.pgh.pa.us
Whole thread Raw
In response to Re: Schizophrenic coding in gin_extract_jsonb(_hash)  (Peter Geoghegan <pg@heroku.com>)
Responses Re: Schizophrenic coding in gin_extract_jsonb(_hash)  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-hackers
Peter Geoghegan <pg@heroku.com> writes:
> On Tue, May 6, 2014 at 8:08 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> The early-exit code path supposes that JB_ROOT_COUNT is absolutely
>> reliable as an indicator that there's nothing in the jsonb value.
>> On the other hand, the realloc logic inside the iteration loop implies
>> that JB_ROOT_COUNT is just an untrustworthy estimate.  Which theory is
>> correct?  And why is there not a comment to be seen anywhere?  If the code
>> is correct then this logic is certainly worthy of a comment or three.

> JsonbIteratorNext() is passed "false" as its skipNested argument. It's
> recursive.

And?

I think you're just proving the point that this code is woefully
underdocumented.  If there were, somewhere, some comment explaining
what the heck JB_ROOT_COUNT actually counts, maybe I wouldn't be asking
this question.  jsonb.h is certainly not divulging any such information.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: PGDLLEXPORTing all GUCs?
Next
From: Robert Haas
Date:
Subject: Re: PGDLLEXPORTing all GUCs?