aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/heap/rewriteheap.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2014-04-22 18:05:44 -0400
committerBruce Momjian <bruce@momjian.us>2014-04-22 18:05:44 -0400
commit4d0d607a454ee832574afd52a3c515099cc85eb3 (patch)
tree29b54104ce07cb7d36ba211637a37343c5f5c938 /src/backend/access/heap/rewriteheap.c
parentc27bf777cf4e05d318e202316857b354cc2f7a5a (diff)
downloadpostgresql-4d0d607a454ee832574afd52a3c515099cc85eb3.tar.gz
postgresql-4d0d607a454ee832574afd52a3c515099cc85eb3.zip
release memory used while flushing logical mappings
Patch by Ants Aasma
Diffstat (limited to 'src/backend/access/heap/rewriteheap.c')
-rw-r--r--src/backend/access/heap/rewriteheap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c
index 4cf07eaa2e4..ae439e8d6f1 100644
--- a/src/backend/access/heap/rewriteheap.c
+++ b/src/backend/access/heap/rewriteheap.c
@@ -897,7 +897,7 @@ logical_heap_rewrite_flush_mappings(RewriteState state)
/* write all mappings consecutively */
len = src->num_mappings * sizeof(LogicalRewriteMappingData);
- waldata = palloc(len);
+ waldata = MemoryContextAlloc(state->rs_cxt, len);
waldata_start = waldata;
/*
@@ -943,6 +943,7 @@ logical_heap_rewrite_flush_mappings(RewriteState state)
/* write xlog record */
XLogInsert(RM_HEAP2_ID, XLOG_HEAP2_REWRITE, rdata);
+ pfree(waldata);
}
Assert(state->rs_num_rewrite_mappings == 0);
}