diff options
author | Neil Conway <neilc@samurai.com> | 2007-08-08 18:07:02 +0000 |
---|---|---|
committer | Neil Conway <neilc@samurai.com> | 2007-08-08 18:07:02 +0000 |
commit | 1de589bfcb6c2bbf9772b1f095909698f578056c (patch) | |
tree | ecf8693b6a345f8f0fb8eeecf0a2f4ce07888a3f /src/backend/executor/execScan.c | |
parent | 6d1607dc3f83d1de9b4daeba2f0622e29cafc524 (diff) | |
download | postgresql-1de589bfcb6c2bbf9772b1f095909698f578056c.tar.gz postgresql-1de589bfcb6c2bbf9772b1f095909698f578056c.zip |
Fix a gradual memory leak in ExecReScanAgg(). Because the aggregation
hash table is allocated in a child context of the agg node's memory
context, MemoryContextReset() will reset but *not* delete the child
context. Since ExecReScanAgg() proceeds to build a new hash table
from scratch (in a new sub-context), this results in leaking the
header for the previous memory context. Therefore, use
MemoryContextResetAndDeleteChildren() instead.
Credit: My colleague Sailesh Krishnamurthy at Truviso for isolating
the cause of the leak.
Diffstat (limited to 'src/backend/executor/execScan.c')
0 files changed, 0 insertions, 0 deletions