mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +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:
@@ -26,7 +26,7 @@
|
||||
static shm_mq_handle *pq_mq_handle;
|
||||
static bool pq_mq_busy = false;
|
||||
static pid_t pq_mq_parallel_leader_pid = 0;
|
||||
static pid_t pq_mq_parallel_leader_backend_id = InvalidBackendId;
|
||||
static pid_t pq_mq_parallel_leader_proc_number = INVALID_PROC_NUMBER;
|
||||
|
||||
static void pq_cleanup_redirect_to_shm_mq(dsm_segment *seg, Datum arg);
|
||||
static void mq_comm_reset(void);
|
||||
@@ -75,11 +75,11 @@ pq_cleanup_redirect_to_shm_mq(dsm_segment *seg, Datum arg)
|
||||
* message data via the shm_mq.
|
||||
*/
|
||||
void
|
||||
pq_set_parallel_leader(pid_t pid, BackendId backend_id)
|
||||
pq_set_parallel_leader(pid_t pid, ProcNumber procNumber)
|
||||
{
|
||||
Assert(PqCommMethods == &PqCommMqMethods);
|
||||
pq_mq_parallel_leader_pid = pid;
|
||||
pq_mq_parallel_leader_backend_id = backend_id;
|
||||
pq_mq_parallel_leader_proc_number = procNumber;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -168,13 +168,13 @@ mq_putmessage(char msgtype, const char *s, size_t len)
|
||||
if (IsLogicalParallelApplyWorker())
|
||||
SendProcSignal(pq_mq_parallel_leader_pid,
|
||||
PROCSIG_PARALLEL_APPLY_MESSAGE,
|
||||
pq_mq_parallel_leader_backend_id);
|
||||
pq_mq_parallel_leader_proc_number);
|
||||
else
|
||||
{
|
||||
Assert(IsParallelWorker());
|
||||
SendProcSignal(pq_mq_parallel_leader_pid,
|
||||
PROCSIG_PARALLEL_MESSAGE,
|
||||
pq_mq_parallel_leader_backend_id);
|
||||
pq_mq_parallel_leader_proc_number);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user