Index: src/backend/storage/lmgr/lmgr.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/storage/lmgr/lmgr.c,v retrieving revision 1.53 diff -c -r1.53 lmgr.c *** src/backend/storage/lmgr/lmgr.c 20 Jun 2002 20:29:35 -0000 1.53 --- src/backend/storage/lmgr/lmgr.c 21 Jul 2002 04:48:47 -0000 *************** *** 65,95 **** }; - static int LockPrios[] = { - 0, - /* AccessShareLock */ - 1, - /* RowShareLock */ - 2, - /* RowExclusiveLock */ - 3, - /* ShareUpdateExclusiveLock */ - 4, - /* ShareLock */ - 5, - /* ShareRowExclusiveLock */ - 6, - /* ExclusiveLock */ - 7, - /* AccessExclusiveLock */ - 8 - }; - LOCKMETHOD LockTableId = (LOCKMETHOD) NULL; LOCKMETHOD LongTermTableId = (LOCKMETHOD) NULL; /* ! * Create the lock table described by LockConflicts and LockPrios. */ LOCKMETHOD InitLockTable(int maxBackends) --- 65,75 ---- }; LOCKMETHOD LockTableId = (LOCKMETHOD) NULL; LOCKMETHOD LongTermTableId = (LOCKMETHOD) NULL; /* ! * Create the lock table described by LockConflicts */ LOCKMETHOD InitLockTable(int maxBackends) *************** *** 97,104 **** int lockmethod; lockmethod = LockMethodTableInit("LockTable", ! LockConflicts, LockPrios, ! MAX_LOCKMODES - 1, maxBackends); LockTableId = lockmethod; if (!(LockTableId)) --- 77,84 ---- int lockmethod; lockmethod = LockMethodTableInit("LockTable", ! LockConflicts, MAX_LOCKMODES - 1, ! maxBackends); LockTableId = lockmethod; if (!(LockTableId)) Index: src/backend/storage/lmgr/lock.c =================================================================== RCS file: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v retrieving revision 1.110 diff -c -r1.110 lock.c *** src/backend/storage/lmgr/lock.c 19 Jul 2002 00:17:40 -0000 1.110 --- src/backend/storage/lmgr/lock.c 21 Jul 2002 04:48:51 -0000 *************** *** 208,225 **** static void LockMethodInit(LOCKMETHODTABLE *lockMethodTable, LOCKMASK *conflictsP, - int *prioP, int numModes) { int i; lockMethodTable->numLockModes = numModes; numModes++; ! for (i = 0; i < numModes; i++, prioP++, conflictsP++) ! { lockMethodTable->conflictTab[i] = *conflictsP; - lockMethodTable->prio[i] = *prioP; - } } /* --- 208,221 ---- static void LockMethodInit(LOCKMETHODTABLE *lockMethodTable, LOCKMASK *conflictsP, int numModes) { int i; lockMethodTable->numLockModes = numModes; numModes++; ! for (i = 0; i < numModes; i++, conflictsP++) lockMethodTable->conflictTab[i] = *conflictsP; } /* *************** *** 234,240 **** LOCKMETHOD LockMethodTableInit(char *tabName, LOCKMASK *conflictsP, - int *prioP, int numModes, int maxBackends) { --- 230,235 ---- *************** *** 335,341 **** elog(FATAL, "LockMethodTableInit: couldn't initialize %s", tabName); /* init data structures */ ! LockMethodInit(lockMethodTable, conflictsP, prioP, numModes); LWLockRelease(LockMgrLock); --- 330,336 ---- elog(FATAL, "LockMethodTableInit: couldn't initialize %s", tabName); /* init data structures */ ! LockMethodInit(lockMethodTable, conflictsP, numModes); LWLockRelease(LockMgrLock); Index: src/include/storage/lock.h =================================================================== RCS file: /cvsroot/pgsql/src/include/storage/lock.h,v retrieving revision 1.63 diff -c -r1.63 lock.h *** src/include/storage/lock.h 19 Jul 2002 00:17:40 -0000 1.63 --- src/include/storage/lock.h 21 Jul 2002 04:48:52 -0000 *************** *** 80,89 **** * type conflicts. conflictTab[i] is a mask with the j-th bit * turned on if lock types i and j conflict. * - * prio -- each lockmode has a priority, so, for example, waiting - * writers can be given priority over readers (to avoid - * starvation). XXX this field is not actually used at present! - * * masterLock -- synchronizes access to the table * */ --- 80,85 ---- *************** *** 94,100 **** LOCKMETHOD lockmethod; int numLockModes; int conflictTab[MAX_LOCKMODES]; - int prio[MAX_LOCKMODES]; LWLockId masterLock; } LOCKMETHODTABLE; --- 90,95 ---- *************** *** 215,221 **** extern void InitLocks(void); extern LOCKMETHODTABLE *GetLocksMethodTable(LOCK *lock); extern LOCKMETHOD LockMethodTableInit(char *tabName, LOCKMASK *conflictsP, ! int *prioP, int numModes, int maxBackends); extern LOCKMETHOD LockMethodTableRename(LOCKMETHOD lockmethod); extern bool LockAcquire(LOCKMETHOD lockmethod, LOCKTAG *locktag, TransactionId xid, LOCKMODE lockmode, bool dontWait); --- 210,216 ---- extern void InitLocks(void); extern LOCKMETHODTABLE *GetLocksMethodTable(LOCK *lock); extern LOCKMETHOD LockMethodTableInit(char *tabName, LOCKMASK *conflictsP, ! int numModes, int maxBackends); extern LOCKMETHOD LockMethodTableRename(LOCKMETHOD lockmethod); extern bool LockAcquire(LOCKMETHOD lockmethod, LOCKTAG *locktag, TransactionId xid, LOCKMODE lockmode, bool dontWait);