From 372da0f445a2bc33d9c7ee5f53a56ab1d771858e Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Fri, 11 Aug 2023 19:59:21 +1000 Subject: [PATCH v7] Add isTablesyncWorker --- src/backend/replication/logical/launcher.c | 4 ++-- src/include/replication/worker_internal.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index 7454c8c..7cc0a16 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -857,7 +857,7 @@ logicalrep_sync_worker_count(Oid subid) { LogicalRepWorker *w = &LogicalRepCtx->workers[i]; - if (w->subid == subid && OidIsValid(w->relid)) + if (w->subid == subid && isTablesyncWorker(w)) res++; } @@ -1301,7 +1301,7 @@ pg_stat_get_subscription(PG_FUNCTION_ARGS) worker_pid = worker.proc->pid; values[0] = ObjectIdGetDatum(worker.subid); - if (OidIsValid(worker.relid)) + if (isTablesyncWorker(&worker)) values[1] = ObjectIdGetDatum(worker.relid); else nulls[1] = true; diff --git a/src/include/replication/worker_internal.h b/src/include/replication/worker_internal.h index d5c9de4..a428663 100644 --- a/src/include/replication/worker_internal.h +++ b/src/include/replication/worker_internal.h @@ -328,11 +328,12 @@ extern void pa_xact_finish(ParallelApplyWorkerInfo *winfo, XLogRecPtr remote_lsn); #define isParallelApplyWorker(worker) ((worker)->type == WORKERTYPE_PARALLEL_APPLY) +#define isTablesyncWorker(worker) ((worker)->type == WORKERTYPE_TABLESYNC) static inline bool am_tablesync_worker(void) { - return (MyLogicalRepWorker->type == WORKERTYPE_TABLESYNC); + return isTablesyncWorker(MyLogicalRepWorker); } static inline bool -- 1.8.3.1