Fix intra-query memory leakage in nodeProjectSet.c.
authorTom Lane
Fri, 6 Oct 2017 18:28:42 +0000 (14:28 -0400)
committerTom Lane
Fri, 6 Oct 2017 18:28:42 +0000 (14:28 -0400)
commit0c25e9652461c08b5caef259a6af27a38707e07a
tree939f3ca5a9571681c3f79617efa7bb5842b3c211
parent4c20ee5f27a2edbf89273e44eb369fd92d4fe3b2
Fix intra-query memory leakage in nodeProjectSet.c.

Both ExecMakeFunctionResultSet() and evaluation of simple expressions
need to be done in the per-tuple memory context, not per-query, else
we leak data until end of query.  This is a consideration that was
missed while refactoring code in the ProjectSet patch (note that in
pre-v10, ExecMakeFunctionResult is called in the per-tuple context).

Per bug #14843 from Ben M.  Diagnosed independently by Andres and myself.

Discussion: https://postgr.es/m/20171005230321[email protected]
src/backend/executor/execSRF.c
src/backend/executor/nodeProjectSet.c