I have reviewed the code. Here are a few minor comments. 1. +void +pgstat_report_queryid(uint64 queryId, bool force) +{ + volatile PgBackendStatus *beentry = MyBEEntry; + + if (!beentry) + return; + + /* + * if track_activities is disabled, st_queryid should already have been + * reset + */ + if (!pgstat_track_activities) + return;
The above two conditions can be clubbed together in a single condition. 2. +/* ---------- + * pgstat_get_my_queryid() - + * + * Return current backend's query identifier. + */ +uint64 +pgstat_get_my_queryid(void) +{ + if (!MyBEEntry) + return 0; + + return MyBEEntry->st_queryid; +} Is it safe to directly read the data from MyBEEntry without calling pgstat_begin_read_activity() and pgstat_end_read_activity(). Kindly ref pgstat_get_backend_current_activity() for more information. Kindly let me know if I am wrong. Thanks and Regards, Nitin Jadhav On Mon, Apr 5, 2021 at 10:46 PM Bruce Momjian <br...@momjian.us> wrote: > On Sun, Apr 4, 2021 at 10:18:50PM +0800, Julien Rouhaud wrote: > > On Fri, Apr 02, 2021 at 01:33:28PM +0800, Julien Rouhaud wrote: > > > On Thu, Apr 01, 2021 at 03:27:11PM -0400, Bruce Momjian wrote: > > > > > > > > OK, I am happy with your design decisions, thanks. > > > > > > Thanks! While double checking I noticed that I failed to remove a > (now) > > > useless include of pgstat.h in nodeGatherMerge.c in last version. I'm > > > attaching v22 to fix that, no other change. > > > > There was a conflict since e1025044c (Split backend status and progress > related > > functionality out of pgstat.c). > > > > Attached v23 is a rebase against current HEAD, and I also added a few > > UINT64CONST() macro usage for consistency. > > Thanks. I struggled with merging the statistics collection changes into > my cluster file encryption branches because my patch made changes to > code that moved to another C file. > > I plan to apply this tomorrow. > > -- > Bruce Momjian <br...@momjian.us> https://momjian.us > EDB https://enterprisedb.com > > If only the physical world exists, free will is an illusion. > > > >