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

From Andres Freund
Subject Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements
Date
Msg-id 20220401200153.u33gbgt5i7knwko4@alap3.anarazel.de
Whole thread Raw
In response to Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements  (Andrei Zubkov <zubkov@moonset.ru>)
Responses Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements
Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements
List pgsql-hackers
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.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Andrei Zubkov
Date:
Subject: Re: [PATCH] Tracking statements entry timestamp in pg_stat_statements
Next
From: Andrew Dunstan
Date:
Subject: Re: Can we automatically add elapsed times to tap test log?