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