SubXactLockTableWait call LockAcquire missing out 5th parameter.

This commit is contained in:
dongjianguo@gbase.cn
2022-10-13 15:15:32 +08:00
parent 94735d2b0c
commit 061eca1bf4
3 changed files with 4 additions and 4 deletions

View File

@ -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);

View File

@ -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);
}

View File

@ -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 */