pgsql: Simplify lock manager data structures by making a clear

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Simplify lock manager data structures by making a clear
Date: 2005-12-09 01:22:04
Message-ID: 20051209012204.9CCFD9DCBAC@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Simplify lock manager data structures by making a clear separation between
the data defining the semantics of a lock method (ie, conflict resolution
table and ancillary data, which is all constant) and the hash tables
storing the current state. The only thing we give up by this is the
ability to use separate hashtables for different lock methods, but there
is no need for that anyway. Put some extra fields into the LockMethod
definition structs to clean up some other uglinesses, like hard-wired
tests for DEFAULT_LOCKMETHOD and USER_LOCKMETHOD. This commit doesn't
do anything about the performance issues we were discussing, but it clears
away some of the underbrush that's in the way of fixing that.

Modified Files:
--------------
pgsql/contrib/userlock:
user_locks.c (r1.19 -> r1.20)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/userlock/user_locks.c.diff?r1=1.19&r2=1.20)
pgsql/src/backend/storage/ipc:
ipci.c (r1.79 -> r1.80)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/ipc/ipci.c.diff?r1=1.79&r2=1.80)
pgsql/src/backend/storage/lmgr:
README (r1.17 -> r1.18)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/README.diff?r1=1.17&r2=1.18)
deadlock.c (r1.36 -> r1.37)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/deadlock.c.diff?r1=1.36&r2=1.37)
lmgr.c (r1.79 -> r1.80)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lmgr.c.diff?r1=1.79&r2=1.80)
lock.c (r1.160 -> r1.161)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lock.c.diff?r1=1.160&r2=1.161)
proc.c (r1.168 -> r1.169)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/proc.c.diff?r1=1.168&r2=1.169)
pgsql/src/backend/utils/adt:
lockfuncs.c (r1.20 -> r1.21)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/lockfuncs.c.diff?r1=1.20&r2=1.21)
pgsql/src/backend/utils/cache:
relcache.c (r1.232 -> r1.233)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.232&r2=1.233)
pgsql/src/include/storage:
lmgr.h (r1.52 -> r1.53)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lmgr.h.diff?r1=1.52&r2=1.53)
lock.h (r1.91 -> r1.92)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/lock.h.diff?r1=1.91&r2=1.92)
pgsql/src/tools/backend:
index.html (r1.33 -> r1.34)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/tools/backend/index.html.diff?r1=1.33&r2=1.34)

Browse pgsql-committers by date

  From Date Subject
Next Message Bruce Momjian 2005-12-09 02:49:09 pgsql: Stamp libraries for 8.2 by updating minor library version numbers
Previous Message Bruce Momjian 2005-12-08 23:22:40 pgsql: Release note wording improvements.