Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements - Mailing list pgsql-hackers

From Julien Rouhaud
Subject Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements
Date
Msg-id 20220402072456.buplg3iytxg6wyt5@jrouhaud
Whole thread Raw
In response to Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On Fri, Apr 01, 2022 at 01:01:53PM -0700, Andres Freund wrote:
> Hi,
> 
> On 2022-04-01 22:47:02 +0300, Andrei Zubkov wrote:
> > +        entry = (pgssEntry *) hash_search(pgss_hash, &key, HASH_FIND, NULL);
> > +
> > +        if (entry) {
> > +            /* Found */
> > +            if (minmax_only) {
> > +                /* When requested reset only min/max statistics of an entry */
> > +                entry_counters = &entry->counters;
> > +                for (int kind = 0; kind < PGSS_NUMKIND; kind++)
> > +                {
> > +                    entry_counters->max_time[kind] = 0;
> > +                    entry_counters->min_time[kind] = 0;
> > +                }
> > +                entry->minmax_stats_since = stats_reset;
> > +            }
> > +            else
> > +            {
> > +                /* Remove the key otherwise  */
> > +                hash_search(pgss_hash, &entry->key, HASH_REMOVE, NULL);
> > +                num_remove++;
> > +            }
> > +        }
> 
> It seems decidedly not great to have four copies of this code. It was already
> not great before, but this patch makes the duplicated section go from four
> lines to 20 or so.

+1



pgsql-hackers by date:

Previous
From: Julien Rouhaud
Date:
Subject: Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements
Next
From: Masahiko Sawada
Date:
Subject: Re: Skipping logical replication transactions on subscriber side