pgsql: Reset the per-output-tuple exprcontext each time through the main

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Reset the per-output-tuple exprcontext each time through the main
Date: 2010-08-18 21:52:32
Message-ID: 20100818215232.3EFB57541D7@cvs.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Reset the per-output-tuple exprcontext each time through the main loop in
ExecModifyTable(). This avoids memory leakage when trigger functions leave
junk behind in that context (as they more or less must). Problem and solution
identified by Dean Rasheed.

I'm a bit concerned about the longevity of this solution --- once a plan can
have multiple ModifyTable nodes, we are very possibly going to have to do
something different. But it should hold up for 9.0.

Tags:
----
REL9_0_STABLE

Modified Files:
--------------
pgsql/src/backend/executor:
nodeModifyTable.c (r1.7 -> r1.7.4.1)
(http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/executor/nodeModifyTable.c?r1=1.7&r2=1.7.4.1)

Browse pgsql-committers by date

  From Date Subject
Next Message Robert Haas 2010-08-19 02:58:37 pgsql: Tidy up a few calls to smrgextend().
Previous Message Tom Lane 2010-08-18 21:52:24 pgsql: Reset the per-output-tuple exprcontext each time through the main