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

From tgl@postgresql.org (Tom Lane)
Subject pgsql: Reset the per-output-tuple exprcontext each time through the main
Date
Msg-id 20100818215232.3EFB57541D7@cvs.postgresql.org
Whole thread Raw
List 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)

pgsql-committers by date:

Previous
From: tgl@postgresql.org (Tom Lane)
Date:
Subject: pgsql: Reset the per-output-tuple exprcontext each time through the main
Next
From: rhaas@postgresql.org (Robert Haas)
Date:
Subject: pgsql: Tidy up a few calls to smrgextend().