mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +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:
@@ -152,8 +152,8 @@ write_csvlog(ErrorData *edata)
|
||||
|
||||
/* Virtual transaction id */
|
||||
/* keep VXID format in sync with lockfuncs.c */
|
||||
if (MyProc != NULL && MyProc->vxid.backendId != InvalidBackendId)
|
||||
appendStringInfo(&buf, "%d/%u", MyProc->vxid.backendId, MyProc->vxid.lxid);
|
||||
if (MyProc != NULL && MyProc->vxid.procNumber != INVALID_PROC_NUMBER)
|
||||
appendStringInfo(&buf, "%d/%u", MyProc->vxid.procNumber, MyProc->vxid.lxid);
|
||||
appendStringInfoChar(&buf, ',');
|
||||
|
||||
/* Transaction id */
|
||||
|
||||
@@ -3076,18 +3076,18 @@ log_status_format(StringInfo buf, const char *format, ErrorData *edata)
|
||||
break;
|
||||
case 'v':
|
||||
/* keep VXID format in sync with lockfuncs.c */
|
||||
if (MyProc != NULL && MyProc->vxid.backendId != InvalidBackendId)
|
||||
if (MyProc != NULL && MyProc->vxid.procNumber != INVALID_PROC_NUMBER)
|
||||
{
|
||||
if (padding != 0)
|
||||
{
|
||||
char strfbuf[128];
|
||||
|
||||
snprintf(strfbuf, sizeof(strfbuf) - 1, "%d/%u",
|
||||
MyProc->vxid.backendId, MyProc->vxid.lxid);
|
||||
MyProc->vxid.procNumber, MyProc->vxid.lxid);
|
||||
appendStringInfo(buf, "%*s", padding, strfbuf);
|
||||
}
|
||||
else
|
||||
appendStringInfo(buf, "%d/%u", MyProc->vxid.backendId, MyProc->vxid.lxid);
|
||||
appendStringInfo(buf, "%d/%u", MyProc->vxid.procNumber, MyProc->vxid.lxid);
|
||||
}
|
||||
else if (padding != 0)
|
||||
appendStringInfoSpaces(buf,
|
||||
|
||||
@@ -197,9 +197,9 @@ write_jsonlog(ErrorData *edata)
|
||||
|
||||
/* Virtual transaction id */
|
||||
/* keep VXID format in sync with lockfuncs.c */
|
||||
if (MyProc != NULL && MyProc->vxid.backendId != InvalidBackendId)
|
||||
if (MyProc != NULL && MyProc->vxid.procNumber != INVALID_PROC_NUMBER)
|
||||
appendJSONKeyValueFmt(&buf, "vxid", true, "%d/%u",
|
||||
MyProc->vxid.backendId, MyProc->vxid.lxid);
|
||||
MyProc->vxid.procNumber, MyProc->vxid.lxid);
|
||||
|
||||
/* Transaction id */
|
||||
appendJSONKeyValueFmt(&buf, "txid", false, "%u",
|
||||
|
||||
Reference in New Issue
Block a user