diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2019-03-14 18:36:26 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2019-03-14 18:36:33 -0400 |
commit | de570047993bd5fd65ad2bdf6b0acf5b8939bcb3 (patch) | |
tree | b2fab76ac7d6e5e588e4c42f34b0c6a84d1c60c8 /src/backend/executor/execParallel.c | |
parent | 61dc407893600f551dbcbc235d1dccd134f43da0 (diff) | |
download | postgresql-de570047993bd5fd65ad2bdf6b0acf5b8939bcb3.tar.gz postgresql-de570047993bd5fd65ad2bdf6b0acf5b8939bcb3.zip |
Fix some oversights in commit 2455ab488.
The idea was to generate all the junk in a destroyable subcontext rather
than leaking it in the caller's context, but partition_bounds_create was
still being called in the caller's context, allowing plenty of scope for
leakage. Also, get_rel_relkind() was still being called in the rel's
rd_pdcxt, creating a risk of session-lifespan memory wastage.
Simplify the logic a bit while at it. Also, reduce rd_pdcxt to
ALLOCSET_SMALL_SIZES, since it seems likely to not usually be big.
Probably something like this needs to be back-patched into v11,
but for now let's get some buildfarm testing on this.
Discussion: https://postgr.es/m/15943.1552601288@sss.pgh.pa.us
Diffstat (limited to 'src/backend/executor/execParallel.c')
0 files changed, 0 insertions, 0 deletions