Re: JumbleQuery ma treat different GROUP BY expr as the same

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: JumbleQuery ma treat different GROUP BY expr as the same
Дата
Msg-id 2546766.1768063587@sss.pgh.pa.us
обсуждение исходный текст
Ответ на JumbleQuery ma treat different GROUP BY expr as the same  (jian he <jian.universality@gmail.com>)
Ответы Re: JumbleQuery ma treat different GROUP BY expr as the same
Список pgsql-hackers
jian he <jian.universality@gmail.com> 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



В списке pgsql-hackers по дате отправления: