postgresql/src/backend
Tom Lane ae4760d667 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>
2016-08-24 22:20:25 -04:00
..
access Fix small query-lifespan memory leak in bulk updates. 2016-08-24 22:20:25 -04:00
bootstrap Revert CREATE INDEX ... INCLUDING ... 2016-04-08 21:52:13 +03:00
catalog Use LEFT JOINs in some system views in case referenced row doesn't exist. 2016-08-19 17:13:47 -04:00
commands Final pgindent + perltidy run for 9.6. 2016-08-15 13:42:51 -04:00
executor Fix improper repetition of previous results from a hashed aggregate. 2016-08-24 14:38:12 -04:00
foreign Remove GetUserMappingId() and GetUserMappingById(). 2016-07-22 11:32:23 -04:00
lib Remove mergeHyperLogLog. 2016-04-27 10:55:32 -04:00
libpq Remove duplicate function prototype. 2016-08-23 13:44:18 -04:00
main Repair a bit of pgindent damage. 2016-06-09 18:09:17 -04:00
nodes Fix improper repetition of previous results from a hashed aggregate. 2016-08-24 14:38:12 -04:00
optimizer Fix improper repetition of previous results from a hashed aggregate. 2016-08-24 14:38:12 -04:00
parser Improve parsetree representation of special functions such as CURRENT_DATE. 2016-08-16 20:33:01 -04:00
po Translation updates 2016-08-08 11:08:00 -04:00
port Remove obsolete replacement system() on darwin 2016-08-18 12:00:00 -04:00
postmaster Refactor RandomSalt to handle salts of different lengths. 2016-08-18 13:41:17 +03:00
regex Clean up another pre-ANSI-C-ism in regex code: get rid of pcolor typedef. 2016-08-19 13:31:10 -04:00
replication reorderbuffer: preserve errno while reporting error 2016-08-19 14:38:55 -03:00
rewrite pgindent run for 9.6 2016-06-09 18:02:36 -04:00
snowball Update copyright for 2016 2016-01-02 13:33:40 -05:00
storage Extend dsm API with a new function dsm_unpin_segment. 2016-08-23 14:32:23 -04:00
tcop Fix TOAST access failure in RETURNING queries. 2016-08-07 17:46:08 -04:00
tsearch Final pgindent + perltidy run for 9.6. 2016-08-15 13:42:51 -04:00
utils Suppress compiler warnings in non-cassert builds. 2016-08-23 23:21:10 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
Makefile Provide and use a makefile target to build all generated headers. 2016-07-01 15:09:02 -04:00
common.mk Remove maintainer-check target, fold into normal build 2013-10-10 20:11:56 -04:00
nls.mk Remove trailing slashes from directories in find command 2015-09-18 22:06:54 -04:00