Re: [COMMITTERS] pgsql: Clean up jsonb code.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Alexander Korotkov <aekorotkov(at)gmail(dot)com>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Oleg Bartunov <obartunov(at)gmail(dot)com>
Subject: Re: [COMMITTERS] pgsql: Clean up jsonb code.
Date: 2014-05-09 22:32:29
Message-ID: 8908.1399674749@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Peter Geoghegan <pg(at)heroku(dot)com> writes:
> On Fri, May 9, 2014 at 2:54 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> However, what it looks to me like we've got here is a very bad
>> reimplementation of StringInfo buffers. There is for example no
>> integer-overflow checking here. Rather than try to bring this code
>> up to speed, I think we should rip it out and use StringInfo.

> Heikki did specifically consider StringInfo buffers and said they were
> not best suited to the task at hand. At the time I thought he meant
> that he'd do something domain-specific to avoid unnecessary geometric
> growth in the size of the buffer (I like to grow buffers to either
> twice their previous size, or just big enough to fit the next thing,
> whichever is larger), but that doesn't appear to be the case. Still,
> it would be good to know what he meant before proceeding. It probably
> had something to do with alignment.

It looks to me like he wanted an API that would let him reserve space
separately from filling it, which is not in stringinfo.c but is surely
easily built on top of it. For the moment, I've just gotten rid of
the buggy code fragment in favor of calling enlargeStringInfo, which
I trust to be right.

We might at some point want to change the heuristics in
enlargeStringInfo, but two days before beta is not the time for that.

regards, tom lane

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2014-05-10 00:25:51 pgsql: Fix bogus documentation of json_object_agg().
Previous Message Tom Lane 2014-05-09 22:24:24 pgsql: Fix broken allocation logic in recently-rewritten jsonb_util.c.

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2014-05-09 23:17:57 Commitfest still shows pending patches?
Previous Message Peter Geoghegan 2014-05-09 22:23:57 Re: [COMMITTERS] pgsql: Clean up jsonb code.