postgres.git / summary / log / commit / refs
commit 46bd14a108ffde3e0db68ccae0fd88a4128c8e84
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: Thu Aug 25 02:20:01 2016 +0000
Fix small query-lifespan memory leak in bulk updates.
When there is an identifiable REPLICA IDENTITY index on the target table,
heap_update leaks the id_attrs bitmapset. That's not many bytes, but it
adds up over enough rows, since the code typically runs in a query-lifespan
context. Bug introduced in commit e55704d8b, which did a rather poor job
of cloning the existing use-pattern for RelationGetIndexAttrBitmap().
Per bug #14293 from Zhou Digoal. Back-patch to 9.4 where the bug was
introduced.
Report: <20160824114320.15676.45171@wrigleys.postgresql.org>
src/backend/access/heap/heapam.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c
index ee2dd57ec64..b8f4fe570ac 100644
--- a/src/backend/access/heap/heapam.c
+++ b/src/backend/access/heap/heapam.c
@@ -3579,6 +3579,7 @@ l2:
ReleaseBuffer(vmbuffer);
bms_free(hot_attrs);
bms_free(key_attrs);
+ bms_free(id_attrs);
return result;
}
@@ -4031,6 +4032,7 @@ l2:
bms_free(hot_attrs);
bms_free(key_attrs);
+ bms_free(id_attrs);
return HeapTupleMayBeUpdated;
}
[parent: 25fe5f758c10]