mirror of
https://github.com/postgres/postgres.git
synced 2025-07-24 14:22:24 +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:
@ -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))
|
||||
|
Reference in New Issue
Block a user