@ -188,6 +188,7 @@ static const char *BuiltinTrancheNames[] = {
|
||||
"SegmentHeadPartitionLock",
|
||||
"TwoPhaseStatePartLock",
|
||||
"RoleIdPartLock",
|
||||
"GPRCMappingLock",
|
||||
"PgwrSyncQueueLock",
|
||||
"BarrierHashTblLock",
|
||||
"PageRepairHashTblLock",
|
||||
@ -627,6 +628,11 @@ static void InitializeLWLocks(int numLocks)
|
||||
for (id = 0; id < NUM_SESSION_ROLEID_PARTITIONS; id++, lock++) {
|
||||
LWLockInitialize(&lock->lock, LWTRANCHE_ROLEID_PARTITION);
|
||||
}
|
||||
|
||||
for (id = 0; id < NUM_GPRC_PARTITIONS; id++, lock++) {
|
||||
LWLockInitialize(&lock->lock, LWTRANCHE_GPRC_MAPPING);
|
||||
}
|
||||
|
||||
Assert((lock - t_thrd.shemem_ptr_cxt.mainLWLockArray) == NumFixedLWLocks);
|
||||
|
||||
for (id = NumFixedLWLocks; id < numLocks; id++, lock++) {
|
||||
|
||||
@ -183,9 +183,10 @@ const struct LWLOCK_PARTITION_DESC LWLockPartInfo[] = {
|
||||
#define FirstTwoPhaseStateLock (FirstSegmentHeadLock + NUM_SEGMENT_HEAD_PARTITIONS)
|
||||
/* session roleid */
|
||||
#define FirstSessRoleIdLock (FirstTwoPhaseStateLock + NUM_TWOPHASE_PARTITIONS)
|
||||
/* autonomous transaction package value */
|
||||
#define FirstGPRCMappingLock (FirstSessRoleIdLock + NUM_SESSION_ROLEID_PARTITIONS)
|
||||
/* must be last: */
|
||||
#define NumFixedLWLocks (FirstSessRoleIdLock + NUM_SESSION_ROLEID_PARTITIONS)
|
||||
#define NumFixedLWLocks (FirstGPRCMappingLock + NUM_GPRC_PARTITIONS)
|
||||
/*
|
||||
* WARNING----Please keep BuiltinTrancheIds and BuiltinTrancheNames consistent!!!
|
||||
*
|
||||
@ -254,6 +255,7 @@ enum BuiltinTrancheIds
|
||||
LWTRANCHE_SEGHEAD_PARTITION,
|
||||
LWTRANCHE_TWOPHASE_STATE,
|
||||
LWTRANCHE_ROLEID_PARTITION,
|
||||
LWTRANCHE_GPRC_MAPPING,
|
||||
LWTRANCHE_PGWR_SYNC_QUEUE,
|
||||
LWTRANCHE_BARRIER_TBL,
|
||||
LWTRANCHE_PAGE_REPAIR,
|
||||
|
||||
Reference in New Issue
Block a user