Re: [PATCH] GROUP BY ALL

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [PATCH] GROUP BY ALL
Дата
Msg-id 932963.1721688221@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [PATCH] GROUP BY ALL  (Isaac Morland <isaac.morland@gmail.com>)
Ответы Re: [PATCH] GROUP BY ALL
Список pgsql-hackers
Isaac Morland <isaac.morland@gmail.com> writes:
> 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

The SELECT entry is expanded into "uw_term.col1, uw_term.col2,
uw_term.col3, ...", and those single-column Vars don't match the
whole-row Var appearing in the GROUP BY list.  I guess if we
think this is important, we could add a proof rule saying that
a per-column Var is functionally dependent on a whole-row Var
of the same relation.  Odd that the point hasn't come up before
(though I guess that suggests that few people try this).

            regards, tom lane



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Vacuum ERRORs out considering freezing dead tuples from before OldestXmin
Следующее
От: Joseph Koshakow
Дата:
Сообщение: Re: Remove dependence on integer wrapping