On 2014-09-19 15:40:14 +0300, Heikki Linnakangas wrote:
> On 09/18/2014 09:27 PM, Heikki Linnakangas wrote:
> >I'll try to write a more polished patch tomorrow. We'll then see what it
> >looks like, and can decide if we want it.
>
> Ok, here are two patches. One is a refined version of my earlier patch, and
> the other implements the separate offsets array approach. They are both
> based on Tom's jsonb-lengths-merged.patch, so they include all the
> whitespace fixes etc. he mentioned.
>
> There is no big difference in terms of code complexity between the patches.
> IMHO the separate offsets array is easier to understand, but it makes for
> more complicated accessor macros to find the beginning of the
> variable-length data.
I personally am pretty clearly in favor of Heikki's version. I think it
could stand to slightly expand the reasoning behind the mixed
length/offset format; it's not immediately obvious why the offsets are
problematic for compression. Otherwise, based on a cursory look, it
looks good.
But independent of which version is chosen, we *REALLY* need to make the
decision soon. This issue has held up the next beta (like jsonb has
blocked previous beta) for *weeks*.
Personally it doesn't make me very happy that Heikki and Tom had to be
the people stepping up to fix this.
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services