aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeMergejoin.c
diff options
context:
space:
mode:
authorAndrew Gierth <rhodiumtoad@postgresql.org>2018-08-13 01:45:35 +0100
committerAndrew Gierth <rhodiumtoad@postgresql.org>2018-08-13 02:03:54 +0100
commit556140424c4b46a7076cdf13f306bd92db797b61 (patch)
treebe76bc5bbf68178aa02bef3870cf02cd6c268f8e /src/backend/executor/nodeMergejoin.c
parent26853a86ae4bc4f214005e05f55677e5b228f4f8 (diff)
downloadpostgresql-556140424c4b46a7076cdf13f306bd92db797b61.tar.gz
postgresql-556140424c4b46a7076cdf13f306bd92db797b61.zip
Avoid query-lifetime memory leaks in XMLTABLE (bug #15321)
Multiple calls to XMLTABLE in a query (e.g. laterally applying it to a table with an xml column, an important use-case) were leaking large amounts of memory into the per-query context, blowing up memory usage. Repair by reorganizing memory context usage in nodeTableFuncscan; use the usual per-tuple context for row-by-row evaluations instead of perValueCxt, and use the explicitly created context -- renamed from perValueCxt to perTableCxt -- for arguments and state for each individual table-generation operation. Backpatch to PG10 where this code was introduced. Original report by IRC user begriffs; analysis and patch by me. Reviewed by Tom Lane and Pavel Stehule. Discussion: https://postgr.es/m/153394403528.10284.7530399040974170549@wrigleys.postgresql.org
Diffstat (limited to 'src/backend/executor/nodeMergejoin.c')
0 files changed, 0 insertions, 0 deletions