On 2021-Mar-24, Julien Rouhaud wrote:
> From e08c9d5fc86ba722844d97000798de868890aba3 Mon Sep 17 00:00:00 2001
> From: Bruce Momjian <bruce@momjian.us>
> Date: Mon, 22 Mar 2021 17:43:23 -0400
> Subject: [PATCH v20 2/3] Expose queryid in pg_stat_activity and
> src/backend/executor/execMain.c | 9 ++
> src/backend/executor/execParallel.c | 14 ++-
> src/backend/executor/nodeGather.c | 3 +-
> src/backend/executor/nodeGatherMerge.c | 4 +-
Hmm...
I find it odd that there's executor code that acquires the current query
ID from pgstat, after having been put there by planner or ExecutorStart
itself. Seems like a modularity violation. I wonder if it would make
more sense to have the value maybe in struct EState (or perhaps there's
a better place -- but I don't think they have a way to reach the
QueryDesc anyhow), put there by ExecutorStart, so that places such as
execParallel, nodeGather etc don't have to fetch it from pgstat but from
EState.
--
Álvaro Herrera Valdivia, Chile
"We're here to devour each other alive" (Hobbes)