diff options
| author | Heikki Linnakangas | 2024-03-03 17:38:22 +0000 |
|---|---|---|
| committer | Heikki Linnakangas | 2024-03-03 17:38:22 +0000 |
| commit | 024c521117579a6d356050ad3d78fdc95e44eefa (patch) | |
| tree | 27a2d9588eefc43c4bc3ac7b31f8a6740a2de34b /src/backend/utils | |
| parent | ab355e3a88de745607f6dd4c21f0119b5c68f2ad (diff) | |
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
Diffstat (limited to 'src/backend/utils')
| -rw-r--r-- | src/backend/utils/activity/backend_status.c | 50 | ||||
| -rw-r--r-- | src/backend/utils/adt/dbsize.c | 14 | ||||
| -rw-r--r-- | src/backend/utils/adt/lockfuncs.c | 13 | ||||
| -rw-r--r-- | src/backend/utils/adt/mcxtfuncs.c | 7 | ||||
| -rw-r--r-- | src/backend/utils/adt/pgstatfuncs.c | 50 | ||||
| -rw-r--r-- | src/backend/utils/cache/inval.c | 4 | ||||
| -rw-r--r-- | src/backend/utils/cache/relcache.c | 30 | ||||
| -rw-r--r-- | src/backend/utils/error/csvlog.c | 4 | ||||
| -rw-r--r-- | src/backend/utils/error/elog.c | 6 | ||||
| -rw-r--r-- | src/backend/utils/error/jsonlog.c | 4 | ||||
| -rw-r--r-- | src/backend/utils/init/globals.c | 6 | ||||
| -rw-r--r-- | src/backend/utils/time/snapmgr.c | 6 |
12 files changed, 97 insertions, 97 deletions
diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c index 3d3f7b06723..c91ed5a4b64 100644 --- a/src/backend/utils/activity/backend_status.c +++ b/src/backend/utils/activity/backend_status.c @@ -238,7 +238,7 @@ CreateSharedBackendStatus(void) /* * Initialize pgstats backend activity state, and set up our on-proc-exit - * hook. Called from InitPostgres and AuxiliaryProcessMain. MyBackendId must + * hook. Called from InitPostgres and AuxiliaryProcessMain. MyProcNumber must * be set, but we must not have started any transaction yet (since the exit * hook must run after the last transaction exit). * @@ -248,9 +248,9 @@ void pgstat_beinit(void) { /* Initialize MyBEEntry */ - Assert(MyBackendId != InvalidBackendId); - Assert(MyBackendId >= 1 && MyBackendId <= NumBackendStatSlots); - MyBEEntry = &BackendStatusArray[MyBackendId - 1]; + Assert(MyProcNumber != INVALID_PROC_NUMBER); + Assert(MyProcNumber >= 0 && MyProcNumber < NumBackendStatSlots); + MyBEEntry = &BackendStatusArray[MyProcNumber]; /* Set up a process-exit hook to clean up */ on_shmem_exit(pgstat_beshutdown_hook, 0); @@ -721,7 +721,7 @@ pgstat_read_current_status(void) #ifdef ENABLE_GSS PgBackendGSSStatus *localgssstatus; #endif - int i; + ProcNumber procNumber; if (localBackendStatusTable) return; /* already done */ @@ -764,7 +764,7 @@ pgstat_read_current_status(void) beentry = BackendStatusArray; localentry = localtable; - for (i = 1; i <= NumBackendStatSlots; i++) + for (procNumber = 0; procNumber < NumBackendStatSlots; procNumber++) { /* * Follow the protocol of retrying if st_changecount changes while we @@ -830,17 +830,17 @@ pgstat_read_current_status(void) if (localentry->backendStatus.st_procpid > 0) { /* - * The BackendStatusArray index is exactly the BackendId of the + * The BackendStatusArray index is exactly the ProcNumber of the * source backend. Note that this means localBackendStatusTable - * is in order by backend_id. pgstat_get_beentry_by_backend_id() + * is in order by proc_number. pgstat_get_beentry_by_backend_id() * depends on that. */ - localentry->backend_id = i; - BackendIdGetTransactionIds(i, - &localentry->backend_xid, - &localentry->backend_xmin, - &localentry->backend_subxact_count, - &localentry->backend_subxact_overflowed); + localentry->proc_number = procNumber; + ProcNumberGetTransactionIds(procNumber, + &localentry->backend_xid, + &localentry->backend_xmin, + &localentry->backend_subxact_count, + &localentry->backend_subxact_overflowed); localentry++; localappname += NAMEDATALEN; @@ -1043,7 +1043,7 @@ pgstat_get_my_query_id(void) * cmp_lbestatus * * Comparison function for bsearch() on an array of LocalPgBackendStatus. - * The backend_id field is used to compare the arguments. + * The proc_number field is used to compare the arguments. * ---------- */ static int @@ -1052,17 +1052,17 @@ cmp_lbestatus(const void *a, const void *b) const LocalPgBackendStatus *lbestatus1 = (const LocalPgBackendStatus *) a; const LocalPgBackendStatus *lbestatus2 = (const LocalPgBackendStatus *) b; - return lbestatus1->backend_id - lbestatus2->backend_id; + return lbestatus1->proc_number - lbestatus2->proc_number; } /* ---------- - * pgstat_get_beentry_by_backend_id() - + * pgstat_get_beentry_by_proc_number() - * * Support function for the SQL-callable pgstat* functions. Returns * our local copy of the current-activity entry for one backend, * or NULL if the given beid doesn't identify any known session. * - * The beid argument is the BackendId of the desired session + * The argument is the ProcNumber of the desired session * (note that this is unlike pgstat_get_local_beentry_by_index()). * * NB: caller is responsible for a check if the user is permitted to see @@ -1070,9 +1070,9 @@ cmp_lbestatus(const void *a, const void *b) * ---------- */ PgBackendStatus * -pgstat_get_beentry_by_backend_id(BackendId beid) +pgstat_get_beentry_by_proc_number(ProcNumber procNumber) { - LocalPgBackendStatus *ret = pgstat_get_local_beentry_by_backend_id(beid); + LocalPgBackendStatus *ret = pgstat_get_local_beentry_by_proc_number(procNumber); if (ret) return &ret->backendStatus; @@ -1082,12 +1082,12 @@ pgstat_get_beentry_by_backend_id(BackendId beid) /* ---------- - * pgstat_get_local_beentry_by_backend_id() - + * pgstat_get_local_beentry_by_proc_number() - * - * Like pgstat_get_beentry_by_backend_id() but with locally computed additions + * Like pgstat_get_beentry_by_proc_number() but with locally computed additions * (like xid and xmin values of the backend) * - * The beid argument is the BackendId of the desired session + * The argument is the ProcNumber of the desired session * (note that this is unlike pgstat_get_local_beentry_by_index()). * * NB: caller is responsible for checking if the user is permitted to see this @@ -1095,7 +1095,7 @@ pgstat_get_beentry_by_backend_id(BackendId beid) * ---------- */ LocalPgBackendStatus * -pgstat_get_local_beentry_by_backend_id(BackendId beid) +pgstat_get_local_beentry_by_proc_number(ProcNumber procNumber) { LocalPgBackendStatus key; @@ -1105,7 +1105,7 @@ pgstat_get_local_beentry_by_backend_id(BackendId beid) * Since the localBackendStatusTable is in order by backend_id, we can use * bsearch() to search it efficiently. */ - key.backend_id = beid; + key.proc_number = procNumber; return bsearch(&key, localBackendStatusTable, localNumBackends, sizeof(LocalPgBackendStatus), cmp_lbestatus); } diff --git a/src/backend/utils/adt/dbsize.c b/src/backend/utils/adt/dbsize.c index 2df025d50aa..3e851032786 100644 --- a/src/backend/utils/adt/dbsize.c +++ b/src/backend/utils/adt/dbsize.c @@ -306,7 +306,7 @@ pg_tablespace_size_name(PG_FUNCTION_ARGS) * is no check here or at the call sites for that. */ static int64 -calculate_relation_size(RelFileLocator *rfn, BackendId backend, ForkNumber forknum) +calculate_relation_size(RelFileLocator *rfn, ProcNumber backend, ForkNumber forknum) { int64 totalsize = 0; char *relationpath; @@ -951,7 +951,7 @@ pg_relation_filepath(PG_FUNCTION_ARGS) HeapTuple tuple; Form_pg_class relform; RelFileLocator rlocator; - BackendId backend; + ProcNumber backend; char *path; tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relid)); @@ -996,21 +996,21 @@ pg_relation_filepath(PG_FUNCTION_ARGS) { case RELPERSISTENCE_UNLOGGED: case RELPERSISTENCE_PERMANENT: - backend = InvalidBackendId; + backend = INVALID_PROC_NUMBER; break; case RELPERSISTENCE_TEMP: if (isTempOrTempToastNamespace(relform->relnamespace)) - backend = BackendIdForTempRelations(); + backend = ProcNumberForTempRelations(); else { /* Do it the hard way. */ - backend = GetTempNamespaceBackendId(relform->relnamespace); - Assert(backend != InvalidBackendId); + backend = GetTempNamespaceProcNumber(relform->relnamespace); + Assert(backend != INVALID_PROC_NUMBER); } break; default: elog(ERROR, "invalid relpersistence: %c", relform->relpersistence); - backend = InvalidBackendId; /* placate compiler */ + backend = INVALID_PROC_NUMBER; /* placate compiler */ break; } diff --git a/src/backend/utils/adt/lockfuncs.c b/src/backend/utils/adt/lockfuncs.c index bbe5cc0806e..8624470b1d9 100644 --- a/src/backend/utils/adt/lockfuncs.c +++ b/src/backend/utils/adt/lockfuncs.c @@ -73,15 +73,16 @@ typedef struct * This is currently only used in pg_lock_status, so we put it here. */ static Datum -VXIDGetDatum(BackendId bid, LocalTransactionId lxid) +VXIDGetDatum(ProcNumber procNumber, LocalTransactionId lxid) { /* - * The representation is "<bid>/<lxid>", decimal and unsigned decimal - * respectively. Note that elog.c also knows how to format a vxid. + * The representation is "<procNumber>/<lxid>", decimal and unsigned + * decimal respectively. Note that elog.c also knows how to format a + * vxid. */ char vxidstr[32]; - snprintf(vxidstr, sizeof(vxidstr), "%d/%u", bid, lxid); + snprintf(vxidstr, sizeof(vxidstr), "%d/%u", procNumber, lxid); return CStringGetTextDatum(vxidstr); } @@ -353,7 +354,7 @@ pg_lock_status(PG_FUNCTION_ARGS) break; } - values[10] = VXIDGetDatum(instance->vxid.backendId, instance->vxid.localTransactionId); + values[10] = VXIDGetDatum(instance->vxid.procNumber, instance->vxid.localTransactionId); if (instance->pid != 0) values[11] = Int32GetDatum(instance->pid); else @@ -419,7 +420,7 @@ pg_lock_status(PG_FUNCTION_ARGS) nulls[9] = true; /* objsubid */ /* lock holder */ - values[10] = VXIDGetDatum(xact->vxid.backendId, + values[10] = VXIDGetDatum(xact->vxid.procNumber, xact->vxid.localTransactionId); if (xact->pid != 0) values[11] = Int32GetDatum(xact->pid); diff --git a/src/backend/utils/adt/mcxtfuncs.c b/src/backend/utils/adt/mcxtfuncs.c index a7267dc15d1..c29320b3785 100644 --- a/src/backend/utils/adt/mcxtfuncs.c +++ b/src/backend/utils/adt/mcxtfuncs.c @@ -146,7 +146,7 @@ pg_log_backend_memory_contexts(PG_FUNCTION_ARGS) { int pid = PG_GETARG_INT32(0); PGPROC *proc; - BackendId backendId = InvalidBackendId; + ProcNumber procNumber = INVALID_PROC_NUMBER; /* * See if the process with given pid is a backend or an auxiliary process. @@ -175,9 +175,8 @@ pg_log_backend_memory_contexts(PG_FUNCTION_ARGS) PG_RETURN_BOOL(false); } - if (proc != NULL) - backendId = GetBackendIdFromPGProc(proc); - if (SendProcSignal(pid, PROCSIG_LOG_MEMORY_CONTEXT, backendId) < 0) + procNumber = GetNumberFromPGProc(proc); + if (SendProcSignal(pid, PROCSIG_LOG_MEMORY_CONTEXT, procNumber) < 0) { /* Again, just a warning to allow loops */ ereport(WARNING, diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 30a20635057..d1e9aa8290f 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -213,7 +213,7 @@ pg_stat_get_backend_idset(PG_FUNCTION_ARGS) /* do when there is more left to send */ LocalPgBackendStatus *local_beentry = pgstat_get_local_beentry_by_index(fctx[0]); - SRF_RETURN_NEXT(funcctx, Int32GetDatum(local_beentry->backend_id)); + SRF_RETURN_NEXT(funcctx, Int32GetDatum(local_beentry->proc_number)); } else { @@ -669,10 +669,10 @@ pg_backend_pid(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_pid(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); PG_RETURN_INT32(beentry->st_procpid); @@ -682,10 +682,10 @@ pg_stat_get_backend_pid(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_dbid(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); PG_RETURN_OID(beentry->st_databaseid); @@ -695,10 +695,10 @@ pg_stat_get_backend_dbid(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_userid(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); PG_RETURN_OID(beentry->st_userid); @@ -711,7 +711,7 @@ pg_stat_get_backend_subxact(PG_FUNCTION_ARGS) TupleDesc tupdesc; Datum values[PG_STAT_GET_SUBXACT_COLS] = {0}; bool nulls[PG_STAT_GET_SUBXACT_COLS] = {0}; - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); LocalPgBackendStatus *local_beentry; /* Initialise attributes information in the tuple descriptor */ @@ -723,7 +723,7 @@ pg_stat_get_backend_subxact(PG_FUNCTION_ARGS) BlessTupleDesc(tupdesc); - if ((local_beentry = pgstat_get_local_beentry_by_backend_id(beid)) != NULL) + if ((local_beentry = pgstat_get_local_beentry_by_proc_number(procNumber)) != NULL) { /* Fill values and NULLs */ values[0] = Int32GetDatum(local_beentry->backend_subxact_count); @@ -742,13 +742,13 @@ pg_stat_get_backend_subxact(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_activity(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; const char *activity; char *clipped_activity; text *ret; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) activity = "<backend information not available>"; else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) activity = "<insufficient privilege>"; @@ -767,12 +767,12 @@ pg_stat_get_backend_activity(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_wait_event_type(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; PGPROC *proc; const char *wait_event_type = NULL; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) wait_event_type = "<backend information not available>"; else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) wait_event_type = "<insufficient privilege>"; @@ -788,12 +788,12 @@ pg_stat_get_backend_wait_event_type(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_wait_event(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; PGPROC *proc; const char *wait_event = NULL; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) wait_event = "<backend information not available>"; else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) wait_event = "<insufficient privilege>"; @@ -810,11 +810,11 @@ pg_stat_get_backend_wait_event(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_activity_start(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); TimestampTz result; PgBackendStatus *beentry; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -836,11 +836,11 @@ pg_stat_get_backend_activity_start(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_xact_start(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); TimestampTz result; PgBackendStatus *beentry; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -858,11 +858,11 @@ pg_stat_get_backend_xact_start(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_start(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); TimestampTz result; PgBackendStatus *beentry; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -880,13 +880,13 @@ pg_stat_get_backend_start(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; SockAddr zero_clientaddr; char remote_host[NI_MAXHOST]; int ret; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -925,13 +925,13 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS) Datum pg_stat_get_backend_client_port(PG_FUNCTION_ARGS) { - int32 beid = PG_GETARG_INT32(0); + int32 procNumber = PG_GETARG_INT32(0); PgBackendStatus *beentry; SockAddr zero_clientaddr; char remote_port[NI_MAXSERV]; int ret; - if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_proc_number(procNumber)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index f59b07a70f8..816b883b6da 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -1453,8 +1453,8 @@ CacheInvalidateRelcacheByRelid(Oid relid) * replaying WAL as well as when creating it. * * Note: In order to avoid bloating SharedInvalidationMessage, we store only - * three bytes of the backend ID using what would otherwise be padding space. - * Thus, the maximum possible backend ID is 2^23-1. + * three bytes of the ProcNumber using what would otherwise be padding space. + * Thus, the maximum possible ProcNumber is 2^23-1. */ void CacheInvalidateSmgr(RelFileLocatorBackend rlocator) diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 50acae45298..37c37df56c1 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -1144,13 +1144,13 @@ retry: { case RELPERSISTENCE_UNLOGGED: case RELPERSISTENCE_PERMANENT: - relation->rd_backend = InvalidBackendId; + relation->rd_backend = INVALID_PROC_NUMBER; relation->rd_islocaltemp = false; break; case RELPERSISTENCE_TEMP: if (isTempOrTempToastNamespace(relation->rd_rel->relnamespace)) { - relation->rd_backend = BackendIdForTempRelations(); + relation->rd_backend = ProcNumberForTempRelations(); relation->rd_islocaltemp = true; } else @@ -1159,18 +1159,18 @@ retry: * If it's a temp table, but not one of ours, we have to use * the slow, grotty method to figure out the owning backend. * - * Note: it's possible that rd_backend gets set to MyBackendId - * here, in case we are looking at a pg_class entry left over - * from a crashed backend that coincidentally had the same - * BackendId we're using. We should *not* consider such a - * table to be "ours"; this is why we need the separate - * rd_islocaltemp flag. The pg_class entry will get flushed - * if/when we clean out the corresponding temp table namespace - * in preparation for using it. + * Note: it's possible that rd_backend gets set to + * MyProcNumber here, in case we are looking at a pg_class + * entry left over from a crashed backend that coincidentally + * had the same ProcNumber we're using. We should *not* + * consider such a table to be "ours"; this is why we need the + * separate rd_islocaltemp flag. The pg_class entry will get + * flushed if/when we clean out the corresponding temp table + * namespace in preparation for using it. */ relation->rd_backend = - GetTempNamespaceBackendId(relation->rd_rel->relnamespace); - Assert(relation->rd_backend != InvalidBackendId); + GetTempNamespaceProcNumber(relation->rd_rel->relnamespace); + Assert(relation->rd_backend != INVALID_PROC_NUMBER); relation->rd_islocaltemp = false; } break; @@ -1896,7 +1896,7 @@ formrdesc(const char *relationName, Oid relationReltype, relation->rd_newRelfilelocatorSubid = InvalidSubTransactionId; relation->rd_firstRelfilelocatorSubid = InvalidSubTransactionId; relation->rd_droppedSubid = InvalidSubTransactionId; - relation->rd_backend = InvalidBackendId; + relation->rd_backend = INVALID_PROC_NUMBER; relation->rd_islocaltemp = false; /* @@ -3611,12 +3611,12 @@ RelationBuildLocalRelation(const char *relname, { case RELPERSISTENCE_UNLOGGED: case RELPERSISTENCE_PERMANENT: - rel->rd_backend = InvalidBackendId; + rel->rd_backend = INVALID_PROC_NUMBER; rel->rd_islocaltemp = false; break; case RELPERSISTENCE_TEMP: Assert(isTempOrTempToastNamespace(relnamespace)); - rel->rd_backend = BackendIdForTempRelations(); + rel->rd_backend = ProcNumberForTempRelations(); rel->rd_islocaltemp = true; break; default: diff --git a/src/backend/utils/error/csvlog.c b/src/backend/utils/error/csvlog.c index 1d44d8a6a31..99a3d862250 100644 --- a/src/backend/utils/error/csvlog.c +++ b/src/backend/utils/error/csvlog.c @@ -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 */ diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 149b4b8df13..8d4bc5fbc91 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -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, diff --git a/src/backend/utils/error/jsonlog.c b/src/backend/utils/error/jsonlog.c index 067d9e30b16..d52c2143033 100644 --- a/src/backend/utils/error/jsonlog.c +++ b/src/backend/utils/error/jsonlog.c @@ -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", diff --git a/src/backend/utils/init/globals.c b/src/backend/utils/init/globals.c index 5eaee88d969..aea95c8a69b 100644 --- a/src/backend/utils/init/globals.c +++ b/src/backend/utils/init/globals.c @@ -22,7 +22,7 @@ #include "libpq/libpq-be.h" #include "libpq/pqcomm.h" #include "miscadmin.h" -#include "storage/backendid.h" +#include "storage/procnumber.h" ProtocolVersion FrontendProtocol; @@ -83,9 +83,9 @@ char postgres_exec_path[MAXPGPATH]; /* full path to backend */ /* note: currently this is not valid in backend processes */ #endif -BackendId MyBackendId = InvalidBackendId; +ProcNumber MyProcNumber = INVALID_PROC_NUMBER; -BackendId ParallelLeaderBackendId = InvalidBackendId; +ProcNumber ParallelLeaderProcNumber = INVALID_PROC_NUMBER; Oid MyDatabaseId = InvalidOid; diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index a0916959b17..06735f66709 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -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))); |
