mirror of
https://github.com/postgres/postgres.git
synced 2025-07-02 09:02:37 +03:00
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.
This commit is contained in:
4
src/backend/utils/cache/relcache.c
vendored
4
src/backend/utils/cache/relcache.c
vendored
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.232 2005/11/22 18:17:24 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.233 2005/12/09 01:22:04 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -3362,7 +3362,7 @@ RelationIdIsInInitFile(Oid relationId)
|
||||
* just after sending them. The unlink before ensures that a backend that's
|
||||
* currently starting cannot read the now-obsolete init file and then miss
|
||||
* the SI messages that will force it to update its relcache entries. (This
|
||||
* works because the backend startup sequence gets into the PROC array before
|
||||
* works because the backend startup sequence gets into the PGPROC array before
|
||||
* trying to load the init file.) The unlink after is to synchronize with a
|
||||
* backend that may currently be trying to write an init file based on data
|
||||
* that we've just rendered invalid. Such a backend will see the SI messages,
|
||||
|
Reference in New Issue
Block a user