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