postgresql/src/backend/commands
Tom Lane 8f55b9a8ba Avoid memory leakage when a series of subtransactions invoke AFTER triggers
that are fired at end-of-statement (as is the normal case for foreign keys,
for example).  In this situation the per-subxact deferred trigger context
is always empty when subtransaction exit is reached; so we could free it,
but were not doing so, leading to an intratransaction leak of 8K or more
per subtransaction.  Per off-list example from Viatcheslav Kalinin
subsequent to bug #3418 (his original bug report omitted a foreign key
constraint needed to cause this leak).

Back-patch to 8.2; prior versions were not using per-subxact contexts
for deferred triggers, so did not have this leak.
2007-07-01 17:45:42 +00:00
..
aggregatecmds.c
alter.c Allow non-superuser database owners to create procedural languages. 2007-03-26 16:58:41 +00:00
analyze.c
async.c
cluster.c
comment.c
conversioncmds.c
copy.c
dbcommands.c Implement "distributed" checkpoints in which the checkpoint I/O is spread 2007-06-28 00:02:40 +00:00
define.c
discard.c
explain.c
functioncmds.c
indexcmds.c Separate parse-analysis for utility commands out of parser/analyze.c 2007-06-23 22:12:52 +00:00
lockcmds.c
Makefile
opclasscmds.c
operatorcmds.c
portalcmds.c
prepare.c Separate parse-analysis for utility commands out of parser/analyze.c 2007-06-23 22:12:52 +00:00
proclang.c
schemacmds.c Separate parse-analysis for utility commands out of parser/analyze.c 2007-06-23 22:12:52 +00:00
sequence.c
tablecmds.c Separate parse-analysis for utility commands out of parser/analyze.c 2007-06-23 22:12:52 +00:00
tablespace.c
trigger.c Avoid memory leakage when a series of subtransactions invoke AFTER triggers 2007-07-01 17:45:42 +00:00
typecmds.c
user.c
vacuum.c Avoid having autovacuum run multiple ANALYZE commands in a single transaction, 2007-06-14 13:53:14 +00:00
vacuumlazy.c
variable.c
view.c Separate parse-analysis for utility commands out of parser/analyze.c 2007-06-23 22:12:52 +00:00