On 2020-01-10 06:23, Michael Paquier wrote:
On Thu, Jan 09, 2020 at 11:15:08AM +0100, Peter Eisentraut wrote:
You mean put he subsequent GrantLock() calls into LockCheckConflicts()? That
would technically save some duplicate code, but it seems weird, because
LockCheckConflicts() is notionally a read-only function that shouldn't
change state.
Nah. I was thinking about the first part of this "if" clause
LockCheckConflicts is part of here:
if (lockMethodTable->conflictTab[lockmode] & lock->waitMask)
status = STATUS_FOUND;
else
status = LockCheckConflicts(lockMethodTable, lockmode,
lock, proclock);
But now that I look at it closely it messes up heavily with
ProcSleep() ;)
OK, pushed as it was then.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services