Thread: pgsql-server: Revise ResourceOwner code to avoid accumulating

pgsql-server: Revise ResourceOwner code to avoid accumulating

From
tgl@svr1.postgresql.org (Tom Lane)
Date:
Log Message:
-----------
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.

Modified Files:
--------------
    pgsql-server/src/backend/access/transam:
        xact.c (r1.178 -> r1.179)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/access/transam/xact.c.diff?r1=1.178&r2=1.179)
    pgsql-server/src/backend/utils/mmgr:
        portalmem.c (r1.68 -> r1.69)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/mmgr/portalmem.c.diff?r1=1.68&r2=1.69)
    pgsql-server/src/backend/utils/resowner:
        README (r1.2 -> r1.3)
        (http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/resowner/README.diff?r1=1.2&r2=1.3)
        resowner.c (r1.2 -> r1.3)

(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/utils/resowner/resowner.c.diff?r1=1.2&r2=1.3)