jian he <[email protected]> writes:
> explain(costs off, verbose) select count(*) from t group by a;
> explain(costs off, verbose) select count(*) from t group by b;
> explain(costs off, verbose) select count(*) from t group by c;
> JumbleQuery will jumble Query->groupClause, but RangeTblEntry->groupexprs in
> Query->rtable is marked with query_jumble_ignore and therefore excluded from
> jumbling.
> So "group by a" and "group by" merged into the same entry in
> pg_stat_statements,
> Is this what we expected?
It is not what happened before we invented RTE_GROUP. I tried your
experiment in v14 and got:
regression=# SELECT calls, rows, query FROM pg_stat_statements ORDER BY query
COLLATE "C";
calls | rows | query
-------+------+---------------------------------------------------------------
1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
1 | 0 | explain(costs off, verbose) select count(*) from t group by a
1 | 0 | explain(costs off, verbose) select count(*) from t group by b
1 | 0 | explain(costs off, verbose) select count(*) from t group by c
(4 rows)
So I'm inclined to think this was an unintentional change of behavior.
regards, tom lane