aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gist/gistscan.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2019-10-03 13:56:26 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2019-10-03 13:56:26 -0400
commit9a407209a075b53b9ef7141c0f87e91dba41b8b1 (patch)
tree5348e5d17e59fd123d68c501df627da6c4e1c862 /src/backend/access/gist/gistscan.c
parent0b11dc01922b0f6376a27f84a34a52451e8f476c (diff)
downloadpostgresql-9a407209a075b53b9ef7141c0f87e91dba41b8b1.tar.gz
postgresql-9a407209a075b53b9ef7141c0f87e91dba41b8b1.zip
Allow repalloc() to give back space when a large chunk is downsized.
Up to now, if you resized a large (>8K) palloc chunk down to a smaller size, aset.c made no attempt to return any space to the malloc pool. That's unpleasant if a really large allocation is resized to a significantly smaller size. I think no such cases existed when this code was designed, and I'm not sure whether they're common even yet, but an upcoming fix to encoding conversion will certainly create such cases. Therefore, fix AllocSetRealloc so that it gives realloc() a chance to do something with the block. This doesn't noticeably increase complexity, we mostly just have to change the order in which the cases are considered. Back-patch to all supported branches. Discussion: https://postgr.es/m/20190816181418.GA898@alvherre.pgsql Discussion: https://postgr.es/m/3614.1569359690@sss.pgh.pa.us
Diffstat (limited to 'src/backend/access/gist/gistscan.c')
0 files changed, 0 insertions, 0 deletions