pgsql: Split some storage out to separate subcontexts of fcontext.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Split some storage out to separate subcontexts of fcontext.
Date: 2025-04-17 16:57:47
Message-ID: E1u5SYd-000Vjr-1h@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Split some storage out to separate subcontexts of fcontext.

Put the JunkFilter and its result slot (and thence also
some subsidiary data such as the result tupledesc) into a
separate subcontext "jfcontext". This doesn't accomplish
a lot at this point, because we make a new JunkFilter each
time through the SQL function. However, the plan is to make
the fcontext long-lived, and that raises the possibility
that we'll need a new JunkFilter because the plan for the
result-generating query changes. A separate context makes
it easy to free the obsoleted data when that happens.

Also, instead of always running the sub-executor in fcontext,
make a separate context for it if we're doing lazy eval of
a SRF, and otherwise just run it inside CurrentMemoryContext.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/f45a5444ee7612bcca31172035c9638fed77afcc

Modified Files
--------------
src/backend/executor/functions.c | 82 ++++++++++++++++++++++++++++++++--------
1 file changed, 67 insertions(+), 15 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2025-04-17 17:02:05 Re: pgsql: Make SQLFunctionCache long-lived again.
Previous Message Robert Haas 2025-04-17 14:42:45 Re: pgsql: Add function to get memory context stats for processes