SubXactLockTableWait call LockAcquire missing out 5th parameter.
This commit is contained in:
@ -1458,7 +1458,7 @@ static bool UHeapWait(Relation relation, Buffer buffer, UHeapTuple utuple, LockT
|
||||
}
|
||||
} else {
|
||||
if (InvalidSubTransactionId != subXid) {
|
||||
SubXactLockTableWait(topXid, subXid, waitSec);
|
||||
SubXactLockTableWait(topXid, subXid, true, waitSec);
|
||||
isSubXact = true;
|
||||
} else {
|
||||
XactLockTableWait(topXid, true, waitSec);
|
||||
|
@ -738,7 +738,7 @@ SubXactLockTableDelete(SubTransactionId subxid)
|
||||
* still in progress.
|
||||
*/
|
||||
void
|
||||
SubXactLockTableWait(TransactionId xid, SubTransactionId subxid, int waitSec)
|
||||
SubXactLockTableWait(TransactionId xid, SubTransactionId subxid, bool allow_con_update, int waitSec)
|
||||
{
|
||||
LOCKTAG tag;
|
||||
Assert(TransactionIdIsValid(xid));
|
||||
@ -747,7 +747,7 @@ SubXactLockTableWait(TransactionId xid, SubTransactionId subxid, int waitSec)
|
||||
|
||||
SET_LOCKTAG_SUBTRANSACTION(tag, xid, subxid);
|
||||
|
||||
(void) LockAcquire(&tag, ShareLock, false, false, waitSec);
|
||||
(void) LockAcquire(&tag, ShareLock, false, false, allow_con_update, waitSec);
|
||||
|
||||
LockRelease(&tag, ShareLock, false);
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ extern bool ConditionalXactLockTableWait(TransactionId xid, bool waitparent = tr
|
||||
|
||||
/* Lock a SubXID */
|
||||
extern void SubXactLockTableInsert(SubTransactionId subxid);
|
||||
extern void SubXactLockTableWait(TransactionId xid, SubTransactionId subxid, int waitSec = 0);
|
||||
extern void SubXactLockTableWait(TransactionId xid, SubTransactionId subxid, bool allow_con_update = false, int waitSec = 0);
|
||||
extern bool ConditionalSubXactLockTableWait(TransactionId xid, SubTransactionId subxid);
|
||||
|
||||
/* Lock a general object (other than a relation) of the current database */
|
||||
|
Reference in New Issue
Block a user