pgsql: Use actual backend IDs in pg_stat_get_backend_subxact().

Поиск
Список
Период
Сортировка
От Nathan Bossart
Тема pgsql: Use actual backend IDs in pg_stat_get_backend_subxact().
Дата
Msg-id E1qbT3O-001jDY-Rr@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Use actual backend IDs in pg_stat_get_backend_subxact().

Unlike the other pg_stat_get_backend* functions,
pg_stat_get_backend_subxact() looks up the backend entry by using
its integer argument as a 1-based index in an internal array.  The
other functions look for the entry with the matching session
backend ID.  These numbers often match, but that isn't reliably
true.

This commit resolves this discrepancy by introducing
pgstat_get_local_beentry_by_backend_id() and using it in
pg_stat_get_backend_subxact().  We cannot use
pgstat_get_beentry_by_backend_id() because it returns a
PgBackendStatus, which lacks the locally computed additions
available in LocalPgBackendStatus that are required by
pg_stat_get_backend_subxact().

Author: Ian Barwick
Reviewed-by: Sami Imseih, Michael Paquier, Robert Haas
Discussion: https://postgr.es/m/CAB8KJ%3Dj-ACb3H4L9a_b3ZG3iCYDW5aEu3WsPAzkm2S7JzS1Few%40mail.gmail.com
Backpatch-through: 16

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/d0fe3046eec3913829ccd5010849b25acd25fce4

Modified Files
--------------
src/backend/utils/activity/backend_status.c | 36 +++++++++++++++++++++--------
src/backend/utils/adt/pgstatfuncs.c         |  2 +-
src/include/utils/backend_status.h          |  1 +
3 files changed, 29 insertions(+), 10 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Fix possible compiler warning
Следующее
От: Michael Paquier
Дата:
Сообщение: pgsql: Fix some shadow variables in src/backend/replication/