Revise ResourceOwner code to avoid accumulating ResourceOwner objects
authorTom Lane <[email protected]>
Wed, 25 Aug 2004 18:43:43 +0000 (18:43 +0000)
committerTom Lane <[email protected]>
Wed, 25 Aug 2004 18:43:43 +0000 (18:43 +0000)
commitfe455ee1d4cc5d400c345f361d4bfbfc1178231c
tree6f4f30ec26aa4b67612f05af623ad1bcd7a32900
parentb662311db0b6c36dbb637cd7e1c3e42638b5104a
Revise ResourceOwner code to avoid accumulating ResourceOwner objects
for every command executed within a transaction.  For long transactions
this was a significant memory leak.  Instead, we can delete a portal's
or subtransaction's ResourceOwner immediately, if we physically transfer
the information about its locks up to the parent owner.  This does not
fully solve the leak problem; we need to do something about counting
multiple acquisitions of the same lock in order to fix it.  But it's a
necessary step along the way.
src/backend/access/transam/xact.c
src/backend/utils/mmgr/portalmem.c
src/backend/utils/resowner/README
src/backend/utils/resowner/resowner.c