diff options
Diffstat (limited to 'src/backend/storage/lmgr/lock.c')
-rw-r--r-- | src/backend/storage/lmgr/lock.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index c70a1adb9ad..e62968b4a86 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -3625,8 +3625,8 @@ GetLockStatusData(void) proc->fpRelId[f]); instance->holdMask = lockbits << FAST_PATH_LOCKNUMBER_OFFSET; instance->waitLockMode = NoLock; - instance->backend = proc->backendId; - instance->lxid = proc->lxid; + instance->vxid.backendId = proc->vxid.backendId; + instance->vxid.localTransactionId = proc->vxid.lxid; instance->pid = proc->pid; instance->leaderPid = proc->pid; instance->fastpath = true; @@ -3652,15 +3652,15 @@ GetLockStatusData(void) repalloc(data->locks, sizeof(LockInstanceData) * els); } - vxid.backendId = proc->backendId; + vxid.backendId = proc->vxid.backendId; vxid.localTransactionId = proc->fpLocalTransactionId; instance = &data->locks[el]; SET_LOCKTAG_VIRTUALTRANSACTION(instance->locktag, vxid); instance->holdMask = LOCKBIT_ON(ExclusiveLock); instance->waitLockMode = NoLock; - instance->backend = proc->backendId; - instance->lxid = proc->lxid; + instance->vxid.backendId = proc->vxid.backendId; + instance->vxid.localTransactionId = proc->vxid.lxid; instance->pid = proc->pid; instance->leaderPid = proc->pid; instance->fastpath = true; @@ -3712,8 +3712,8 @@ GetLockStatusData(void) instance->waitLockMode = proc->waitLockMode; else instance->waitLockMode = NoLock; - instance->backend = proc->backendId; - instance->lxid = proc->lxid; + instance->vxid.backendId = proc->vxid.backendId; + instance->vxid.localTransactionId = proc->vxid.lxid; instance->pid = proc->pid; instance->leaderPid = proclock->groupLeader->pid; instance->fastpath = false; @@ -3888,8 +3888,8 @@ GetSingleProcBlockerStatusData(PGPROC *blocked_proc, BlockedProcsData *data) instance->waitLockMode = proc->waitLockMode; else instance->waitLockMode = NoLock; - instance->backend = proc->backendId; - instance->lxid = proc->lxid; + instance->vxid.backendId = proc->vxid.backendId; + instance->vxid.localTransactionId = proc->vxid.lxid; instance->pid = proc->pid; instance->leaderPid = proclock->groupLeader->pid; instance->fastpath = false; @@ -4374,8 +4374,8 @@ lock_twophase_postabort(TransactionId xid, uint16 info, * lockers, as we haven't advertised this vxid via the ProcArray yet. * * Since MyProc->fpLocalTransactionId will normally contain the same data - * as MyProc->lxid, you might wonder if we really need both. The - * difference is that MyProc->lxid is set and cleared unlocked, and + * as MyProc->vxid.lxid, you might wonder if we really need both. The + * difference is that MyProc->vxid.lxid is set and cleared unlocked, and * examined by procarray.c, while fpLocalTransactionId is protected by * fpInfoLock and is used only by the locking subsystem. Doing it this * way makes it easier to verify that there are no funny race conditions. @@ -4391,7 +4391,7 @@ VirtualXactLockTableInsert(VirtualTransactionId vxid) LWLockAcquire(&MyProc->fpInfoLock, LW_EXCLUSIVE); - Assert(MyProc->backendId == vxid.backendId); + Assert(MyProc->vxid.backendId == vxid.backendId); Assert(MyProc->fpLocalTransactionId == InvalidLocalTransactionId); Assert(MyProc->fpVXIDLock == false); @@ -4413,7 +4413,7 @@ VirtualXactLockTableCleanup(void) bool fastpath; LocalTransactionId lxid; - Assert(MyProc->backendId != InvalidBackendId); + Assert(MyProc->vxid.backendId != InvalidBackendId); /* * Clean up shared memory state. @@ -4541,7 +4541,7 @@ VirtualXactLock(VirtualTransactionId vxid, bool wait) */ LWLockAcquire(&proc->fpInfoLock, LW_EXCLUSIVE); - if (proc->backendId != vxid.backendId + if (proc->vxid.backendId != vxid.backendId || proc->fpLocalTransactionId != vxid.localTransactionId) { /* VXID ended */ |