Re: [PATCH] GROUP BY ALL

Поиск
Список
Период
Сортировка
От Isaac Morland
Тема Re: [PATCH] GROUP BY ALL
Дата
Msg-id CAMsGm5eUihhgcNqDr1h=PwRZxt=3GUnOHqAhvam8X7j2jioaeQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: [PATCH] GROUP BY ALL  ("David G. Johnston" <david.g.johnston@gmail.com>)
Ответы Re: [PATCH] GROUP BY ALL
Re: [PATCH] GROUP BY ALL
Список pgsql-hackers
On Mon, 22 Jul 2024 at 17:34, David G. Johnston <david.g.johnston@gmail.com> wrote:
On Mon, Jul 22, 2024 at 1:55 PM David Christensen <david@pgguru.net> wrote:
I see that there'd been some chatter but not a lot of discussion about
a GROUP BY ALL feature/functionality.  There certainly is utility in
such a construct IMHO.

Still need some docs; just throwing this out there and getting some feedback.


I strongly dislike adding this feature.  I'd only consider supporting it if it was part of the SQL standard.

Code is written once and read many times.  This feature caters to the writer, not the reader.  And furthermore usage of this is prone to be to the writer's detriment as well.

And for when this might be useful, the syntax for it already exists, although a spurious error message is generated:

odyssey=> select (uw_term).*, count(*) from uw_term group by uw_term;
ERROR:  column "uw_term.term_id" must appear in the GROUP BY clause or be used in an aggregate function
LINE 1: select (uw_term).*, count(*) from uw_term group by uw_term;
                ^

I'm not sure exactly what's going on here — it's like it's still seeing the table name in the field list as only a table name and not the value corresponding to the whole table as a row value (But in general I'm not happy with the system's ability to figure out that a column's value has only one possibility given the grouping columns). You can work around:

odyssey=> with t as (select uw_term, count(*) from uw_term group by uw_term) select (uw_term).*, count from t;

This query works.

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

Предыдущее
От: Nathan Bossart
Дата:
Сообщение: Re: Remove dependence on integer wrapping
Следующее
От: Ilya Gladyshev
Дата:
Сообщение: Re: pg_rewind with cascade standby doesn't work well