mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-07 19:47:50 +08:00
Use LOCKBIT_ON() instead of a bit shift in a few places.
We do this mostly everywhere, so it seems just as well to do it here, too. Thomas Munro
This commit is contained in:
parent
45e5b4ef5c
commit
f40792a93c
@ -608,7 +608,7 @@ FindLockCycleRecurse(PGPROC *checkProc,
|
||||
break;
|
||||
|
||||
/* Is there a conflict with this guy's request? */
|
||||
if (((1 << proc->waitLockMode) & conflictMask) != 0)
|
||||
if ((LOCKBIT_ON(proc->waitLockMode) & conflictMask) != 0)
|
||||
{
|
||||
/* This proc soft-blocks checkProc */
|
||||
if (FindLockCycleRecurse(proc, depth + 1,
|
||||
@ -648,7 +648,7 @@ FindLockCycleRecurse(PGPROC *checkProc,
|
||||
break;
|
||||
|
||||
/* Is there a conflict with this guy's request? */
|
||||
if (((1 << proc->waitLockMode) & conflictMask) != 0)
|
||||
if ((LOCKBIT_ON(proc->waitLockMode) & conflictMask) != 0)
|
||||
{
|
||||
/* This proc soft-blocks checkProc */
|
||||
if (FindLockCycleRecurse(proc, depth + 1,
|
||||
|
@ -64,41 +64,41 @@ static const LOCKMASK LockConflicts[] = {
|
||||
0,
|
||||
|
||||
/* AccessShareLock */
|
||||
(1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* RowShareLock */
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* RowExclusiveLock */
|
||||
(1 << ShareLock) | (1 << ShareRowExclusiveLock) |
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(ShareLock) | LOCKBIT_ON(ShareRowExclusiveLock) |
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* ShareUpdateExclusiveLock */
|
||||
(1 << ShareUpdateExclusiveLock) |
|
||||
(1 << ShareLock) | (1 << ShareRowExclusiveLock) |
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(ShareUpdateExclusiveLock) |
|
||||
LOCKBIT_ON(ShareLock) | LOCKBIT_ON(ShareRowExclusiveLock) |
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* ShareLock */
|
||||
(1 << RowExclusiveLock) | (1 << ShareUpdateExclusiveLock) |
|
||||
(1 << ShareRowExclusiveLock) |
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(RowExclusiveLock) | LOCKBIT_ON(ShareUpdateExclusiveLock) |
|
||||
LOCKBIT_ON(ShareRowExclusiveLock) |
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* ShareRowExclusiveLock */
|
||||
(1 << RowExclusiveLock) | (1 << ShareUpdateExclusiveLock) |
|
||||
(1 << ShareLock) | (1 << ShareRowExclusiveLock) |
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(RowExclusiveLock) | LOCKBIT_ON(ShareUpdateExclusiveLock) |
|
||||
LOCKBIT_ON(ShareLock) | LOCKBIT_ON(ShareRowExclusiveLock) |
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* ExclusiveLock */
|
||||
(1 << RowShareLock) |
|
||||
(1 << RowExclusiveLock) | (1 << ShareUpdateExclusiveLock) |
|
||||
(1 << ShareLock) | (1 << ShareRowExclusiveLock) |
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock),
|
||||
LOCKBIT_ON(RowShareLock) |
|
||||
LOCKBIT_ON(RowExclusiveLock) | LOCKBIT_ON(ShareUpdateExclusiveLock) |
|
||||
LOCKBIT_ON(ShareLock) | LOCKBIT_ON(ShareRowExclusiveLock) |
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock),
|
||||
|
||||
/* AccessExclusiveLock */
|
||||
(1 << AccessShareLock) | (1 << RowShareLock) |
|
||||
(1 << RowExclusiveLock) | (1 << ShareUpdateExclusiveLock) |
|
||||
(1 << ShareLock) | (1 << ShareRowExclusiveLock) |
|
||||
(1 << ExclusiveLock) | (1 << AccessExclusiveLock)
|
||||
LOCKBIT_ON(AccessShareLock) | LOCKBIT_ON(RowShareLock) |
|
||||
LOCKBIT_ON(RowExclusiveLock) | LOCKBIT_ON(ShareUpdateExclusiveLock) |
|
||||
LOCKBIT_ON(ShareLock) | LOCKBIT_ON(ShareRowExclusiveLock) |
|
||||
LOCKBIT_ON(ExclusiveLock) | LOCKBIT_ON(AccessExclusiveLock)
|
||||
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user