Fix memory leak in ARRAY(SELECT ...) subqueries.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 66567ab2c674b958ac7fec47f0c830018245e04a
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-06-21T21:26:13Z
Releases: 9.2.0
Fix memory leak in ARRAY(SELECT ...) subqueries.

Repeated execution of an uncorrelated ARRAY_SUBLINK sub-select (which
I think can only happen if the sub-select is embedded in a larger,
correlated subquery) would leak memory for the duration of the query,
due to not reclaiming the array generated in the previous execution.
Per bug #6698 from Armando Miraglia.  Diagnosis and fix idea by Heikki,
patch itself by me.

This has been like this all along, so back-patch to all supported versions.

Files

PathChange+/−
src/backend/executor/nodeSubplan.c modified +13 −5
src/include/nodes/execnodes.h modified +1 −0