]> granicus.if.org Git - postgresql/commit
Introduce local hash table for lock state, as per recent proposal.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Aug 2004 17:07:42 +0000 (17:07 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 27 Aug 2004 17:07:42 +0000 (17:07 +0000)
commit1785acebf2ed14fd66955e2d9a55d77a025f418d
tree0c2c3ebe3c71cebd822549fd07fcad38b0985326
parentef16b4e1574799b6e2aa6549a6eda5e4867675ec
Introduce local hash table for lock state, as per recent proposal.
PROCLOCK structs in shared memory now have only a bitmask for held
locks, rather than counts (making them 40 bytes smaller, which is a
good thing).  Multiple locks within a transaction are counted in the
local hash table instead, and we have provision for tracking which
ResourceOwner each count belongs to.  Solves recently reported problem
with memory leakage within long transactions.
contrib/userlock/user_locks.c
src/backend/storage/lmgr/README
src/backend/storage/lmgr/deadlock.c
src/backend/storage/lmgr/lock.c
src/backend/storage/lmgr/proc.c
src/backend/utils/adt/lockfuncs.c
src/backend/utils/resowner/resowner.c
src/include/storage/lock.h
src/include/storage/proc.h
src/include/utils/resowner.h