mirror of
https://github.com/postgres/postgres.git
synced 2025-11-04 20:11:56 +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:
@@ -1154,7 +1154,7 @@ ExportSnapshot(Snapshot snapshot)
|
||||
* inside the transaction from 1.
|
||||
*/
|
||||
snprintf(path, sizeof(path), SNAPSHOT_EXPORT_DIR "/%08X-%08X-%d",
|
||||
MyProc->vxid.backendId, MyProc->vxid.lxid,
|
||||
MyProc->vxid.procNumber, MyProc->vxid.lxid,
|
||||
list_length(exportedSnapshots) + 1);
|
||||
|
||||
/*
|
||||
@@ -1182,7 +1182,7 @@ ExportSnapshot(Snapshot snapshot)
|
||||
*/
|
||||
initStringInfo(&buf);
|
||||
|
||||
appendStringInfo(&buf, "vxid:%d/%u\n", MyProc->vxid.backendId, MyProc->vxid.lxid);
|
||||
appendStringInfo(&buf, "vxid:%d/%u\n", MyProc->vxid.procNumber, MyProc->vxid.lxid);
|
||||
appendStringInfo(&buf, "pid:%d\n", MyProcPid);
|
||||
appendStringInfo(&buf, "dbid:%u\n", MyDatabaseId);
|
||||
appendStringInfo(&buf, "iso:%d\n", XactIsoLevel);
|
||||
@@ -1352,7 +1352,7 @@ parseVxidFromText(const char *prefix, char **s, const char *filename,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid snapshot data in file \"%s\"", filename)));
|
||||
ptr += prefixlen;
|
||||
if (sscanf(ptr, "%d/%u", &vxid->backendId, &vxid->localTransactionId) != 2)
|
||||
if (sscanf(ptr, "%d/%u", &vxid->procNumber, &vxid->localTransactionId) != 2)
|
||||
ereport(ERROR,
|
||||
(errcode(ERRCODE_INVALID_TEXT_REPRESENTATION),
|
||||
errmsg("invalid snapshot data in file \"%s\"", filename)));
|
||||
|
||||
Reference in New Issue
Block a user