提交 5e6528ad 编写于 作者: B Bruce Momjian

* -Remove LockMethodTable.prio field, not used (Bruce)

上级 7dfc7e9e
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lmgr.c,v 1.53 2002/06/20 20:29:35 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lmgr.c,v 1.54 2002/08/01 05:18:33 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -65,31 +65,11 @@ static LOCKMASK LockConflicts[] = {
};
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.
* Create the lock table described by LockConflicts
*/
LOCKMETHOD
InitLockTable(int maxBackends)
......@@ -97,8 +77,8 @@ InitLockTable(int maxBackends)
int lockmethod;
lockmethod = LockMethodTableInit("LockTable",
LockConflicts, LockPrios,
MAX_LOCKMODES - 1, maxBackends);
LockConflicts, MAX_LOCKMODES - 1,
maxBackends);
LockTableId = lockmethod;
if (!(LockTableId))
......
......@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.110 2002/07/19 00:17:40 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.111 2002/08/01 05:18:33 momjian Exp $
*
* NOTES
* Outside modules can create a lock table and acquire/release
......@@ -208,18 +208,14 @@ GetLocksMethodTable(LOCK *lock)
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++)
{
for (i = 0; i < numModes; i++, conflictsP++)
lockMethodTable->conflictTab[i] = *conflictsP;
lockMethodTable->prio[i] = *prioP;
}
}
/*
......@@ -234,7 +230,6 @@ LockMethodInit(LOCKMETHODTABLE *lockMethodTable,
LOCKMETHOD
LockMethodTableInit(char *tabName,
LOCKMASK *conflictsP,
int *prioP,
int numModes,
int maxBackends)
{
......@@ -335,7 +330,7 @@ LockMethodTableInit(char *tabName,
elog(FATAL, "LockMethodTableInit: couldn't initialize %s", tabName);
/* init data structures */
LockMethodInit(lockMethodTable, conflictsP, prioP, numModes);
LockMethodInit(lockMethodTable, conflictsP, numModes);
LWLockRelease(LockMgrLock);
......
......@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: lock.h,v 1.63 2002/07/19 00:17:40 momjian Exp $
* $Id: lock.h,v 1.64 2002/08/01 05:18:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -80,10 +80,6 @@ typedef int LOCKMETHOD;
* 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
*
*/
......@@ -94,7 +90,6 @@ typedef struct LOCKMETHODTABLE
LOCKMETHOD lockmethod;
int numLockModes;
int conflictTab[MAX_LOCKMODES];
int prio[MAX_LOCKMODES];
LWLockId masterLock;
} LOCKMETHODTABLE;
......@@ -215,7 +210,7 @@ typedef struct PROCLOCK
extern void InitLocks(void);
extern LOCKMETHODTABLE *GetLocksMethodTable(LOCK *lock);
extern LOCKMETHOD LockMethodTableInit(char *tabName, LOCKMASK *conflictsP,
int *prioP, int numModes, int maxBackends);
int numModes, int maxBackends);
extern LOCKMETHOD LockMethodTableRename(LOCKMETHOD lockmethod);
extern bool LockAcquire(LOCKMETHOD lockmethod, LOCKTAG *locktag,
TransactionId xid, LOCKMODE lockmode, bool dontWait);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册