-
- Downloads
Restructure LOCKTAG as per discussions of a couple months ago.
Essentially, we shoehorn in a lockable-object-type field by taking a byte away from the lockmethodid, which can surely fit in one byte instead of two. This allows less artificial definitions of all the other fields of LOCKTAG; we can get rid of the special pg_xactlock pseudo-relation, and also support locks on individual tuples and general database objects (including shared objects). None of those possibilities are actually exploited just yet, however. I removed pg_xactlock from pg_class, but did not force initdb for that change. At this point, relkind 's' (SPECIAL) is unused and could be removed entirely.
Showing
- contrib/userlock/README.user_locks 8 additions, 6 deletionscontrib/userlock/README.user_locks
- contrib/userlock/user_locks.c 10 additions, 20 deletionscontrib/userlock/user_locks.c
- contrib/userlock/user_locks.h 8 additions, 15 deletionscontrib/userlock/user_locks.h
- src/backend/access/heap/hio.c 3 additions, 8 deletionssrc/backend/access/heap/hio.c
- src/backend/access/nbtree/nbtpage.c 3 additions, 3 deletionssrc/backend/access/nbtree/nbtpage.c
- src/backend/storage/lmgr/README 9 additions, 25 deletionssrc/backend/storage/lmgr/README
- src/backend/storage/lmgr/deadlock.c 79 additions, 22 deletionssrc/backend/storage/lmgr/deadlock.c
- src/backend/storage/lmgr/lmgr.c 74 additions, 50 deletionssrc/backend/storage/lmgr/lmgr.c
- src/backend/storage/lmgr/lock.c 32 additions, 52 deletionssrc/backend/storage/lmgr/lock.c
- src/backend/utils/adt/lockfuncs.c 18 additions, 14 deletionssrc/backend/utils/adt/lockfuncs.c
- src/include/catalog/pg_attribute.h 1 addition, 11 deletionssrc/include/catalog/pg_attribute.h
- src/include/catalog/pg_class.h 1 addition, 6 deletionssrc/include/catalog/pg_class.h
- src/include/storage/lmgr.h 6 additions, 2 deletionssrc/include/storage/lmgr.h
- src/include/storage/lock.h 93 additions, 19 deletionssrc/include/storage/lock.h
Loading
Please register or sign in to comment