mirror of
https://github.com/postgres/postgres.git
synced 2025-12-04 12:02:48 +03:00
Replace BackendIds with 0-based ProcNumbers
Now that BackendId was just another index into the proc array, it was redundant with the 0-based proc numbers used in other places. Replace all usage of backend IDs with proc numbers. The only place where the term "backend id" remains is in a few pgstat functions that expose backend IDs at the SQL level. Those IDs are now in fact 0-based ProcNumbers too, but the documentation still calls them "backend ids". That term still seems appropriate to describe what the numbers are, so I let it be. One user-visible effect is that pg_temp_0 is now a valid temp schema name, for backend with ProcNumber 0. Reviewed-by: Andres Freund Discussion: https://www.postgresql.org/message-id/8171f1aa-496f-46a6-afc3-c46fe7a9b407@iki.fi
This commit is contained in:
@@ -137,8 +137,8 @@ InitRecoveryTransactionEnvironment(void)
|
||||
* are held by vxids and row level locks are held by xids. All queries
|
||||
* hold AccessShareLocks so never block while we write or lock new rows.
|
||||
*/
|
||||
MyProc->vxid.backendId = MyBackendId;
|
||||
vxid.backendId = MyBackendId;
|
||||
MyProc->vxid.procNumber = MyProcNumber;
|
||||
vxid.procNumber = MyProcNumber;
|
||||
vxid.localTransactionId = GetNextLocalTransactionId();
|
||||
VirtualXactLockTableInsert(vxid);
|
||||
|
||||
@@ -300,7 +300,7 @@ LogRecoveryConflict(ProcSignalReason reason, TimestampTz wait_start,
|
||||
vxids = wait_list;
|
||||
while (VirtualTransactionIdIsValid(*vxids))
|
||||
{
|
||||
PGPROC *proc = BackendIdGetProc(vxids->backendId);
|
||||
PGPROC *proc = ProcNumberGetProc(vxids->procNumber);
|
||||
|
||||
/* proc can be NULL if the target backend is not active */
|
||||
if (proc)
|
||||
|
||||
Reference in New Issue
Block a user