Re: [BUGS] json(b)_array_elements use causes very large memory usage when also referencing entire json document - Mailing list pgsql-bugs

From Tom Lane
Subject Re: [BUGS] json(b)_array_elements use causes very large memory usage when also referencing entire json document
Date
Msg-id 2714.1507336580@sss.pgh.pa.us
Whole thread Raw
In response to Re: [BUGS] json(b)_array_elements use causes very large memory usagewhen also referencing entire json document  (Andres Freund <andres@anarazel.de>)
List pgsql-bugs
Andres Freund <andres@anarazel.de> writes:
> On 2017-10-06 15:37:03 -0400, Tom Lane wrote:
>> As of v10, it might be possible to fix this for the tlist case
>> as well, by doing something like using a separate short-lived
>> context for the non-SRF tlist items.

> Yea, that should be quite doable, slightly annoying to need more than
> one expr context, but that seems unavoidable.

BTW, another idea that occurred to me is to change things so we only
evaluate scalar tlist items once per SRF cycle, and just re-use their
old values for additional SRF output rows.  However, to preserve current
semantics we'd have to distinguish volatile vs. non-volatile tlist items,
and be sure to do the former over again for each SRF output row.  So
I'm not really excited about that, because of the amount of complexity
it would add.  This is messy enough without having two code paths for
the scalar items ... and we'd still have the memory leak issue in the
volatile case.
        regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: [BUGS] json(b)_array_elements use causes very large memory usage when also referencing entire json document
Next
From: Andres Freund
Date:
Subject: Re: [BUGS] json(b)_array_elements use causes very large memory usagewhen also referencing entire json document