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 по дате отправления: