mirror of
https://github.com/postgres/postgres.git
synced 2025-12-22 17:42:17 +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:
@@ -2084,10 +2084,10 @@ StartTransaction(void)
|
||||
AtStart_ResourceOwner();
|
||||
|
||||
/*
|
||||
* Assign a new LocalTransactionId, and combine it with the backendId to
|
||||
* Assign a new LocalTransactionId, and combine it with the proc number to
|
||||
* form a virtual transaction id.
|
||||
*/
|
||||
vxid.backendId = MyBackendId;
|
||||
vxid.procNumber = MyProcNumber;
|
||||
vxid.localTransactionId = GetNextLocalTransactionId();
|
||||
|
||||
/*
|
||||
@@ -2097,9 +2097,10 @@ StartTransaction(void)
|
||||
|
||||
/*
|
||||
* Advertise it in the proc array. We assume assignment of
|
||||
* localTransactionId is atomic, and the backendId should be set already.
|
||||
* localTransactionId is atomic, and the proc number should be set
|
||||
* already.
|
||||
*/
|
||||
Assert(MyProc->vxid.backendId == vxid.backendId);
|
||||
Assert(MyProc->vxid.procNumber == vxid.procNumber);
|
||||
MyProc->vxid.lxid = vxid.localTransactionId;
|
||||
|
||||
TRACE_POSTGRESQL_TRANSACTION_START(vxid.localTransactionId);
|
||||
|
||||
Reference in New Issue
Block a user