From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Lucas Fairchild-Madar <lucas(dot)madar(at)gmail(dot)com>, pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: json(b)_array_elements use causes very large memory usage when also referencing entire json document |
Date: | 2017-10-07 02:42:05 |
Message-ID: | 20171007024205.3p6idiqexbmik4cs@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On 2017-10-06 22:35:37 -0400, Tom Lane wrote:
> Andres Freund <andres(at)anarazel(dot)de> writes:
> > I've just played around with this. ValuePerCall SRFs are fine with
> > called in a short-lived context (they're required to be able to, as
> > documented in xfunc.sgml), so is SFRM_Materialize. The only thing to be
> > careful about is the *arguments* to the function, those need to live
> > long enough in the ValuePerCall case.
>
> Isn't there already code to deal with that? See around line 175
> in execSRF.c.
Well, that's for nodeFunctionscan.c, not nodeProjectSet.c. But it seems
quite sensible to model this very similarly.
I'd still like to unify those two functions, but given that
ExecMakeTableFunctionResult materializes ValuePerCall SRFs, that doesn't
seem likely.
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-10-07 04:08:43 | Re: json(b)_array_elements use causes very large memory usage when also referencing entire json document |
Previous Message | Tom Lane | 2017-10-07 02:35:37 | Re: json(b)_array_elements use causes very large memory usage when also referencing entire json document |