Thread
-
[PATCH] Allow star syntax in GROUP BY, as a shorthand for all table columns
Marti Raudsepp <marti@juffo.org> — 2011-06-08T16:57:54Z
Hi, This patch enables the syntax "GROUP BY tablename.*" in cases where earlier you'd get the error "field must appear in the GROUP BY clause or be used in an aggregate function" I've often needed to write queries like this: SELECT a.x, a.y, a.z, sum(b.w) FROM a JOIN b USING (a_id) GROUP BY a.x, a.y, a.z; Now this becomes: SELECT a.x, a.y, a.z, sum(b.w) FROM a JOIN b USING (a_id) GROUP BY a.*; The patch is so trivial that I'm wondering why it hasn't been implemented before. I couldn't think of any assumptions being broken by using row comparison instead of comparing each field separately. But maybe I'm missing something. If this patch looks reasonable, I guess the obvious next step is to expand the "a.*" reference to the table's primary key columns and fill in context->func_grouped_rels Regards, Marti
-
Re: [PATCH] Allow star syntax in GROUP BY, as a shorthand for all table columns
Tom Lane <tgl@sss.pgh.pa.us> — 2011-06-08T17:22:15Z
Marti Raudsepp <marti@juffo.org> writes: > This patch enables the syntax "GROUP BY tablename.*" in cases where > earlier you'd get the error "field must appear in the GROUP BY clause > or be used in an aggregate function" Is this really necessary now that we know about "GROUP BY primary key"? > The patch is so trivial that I'm wondering why it hasn't been > implemented before. Probably because it's a nonstandard kluge ... regards, tom lane
-
Re: [PATCH] Allow star syntax in GROUP BY, as a shorthand for all table columns
Marti Raudsepp <marti@juffo.org> — 2011-06-09T08:29:24Z
On Wed, Jun 8, 2011 at 20:22, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Is this really necessary now that we know about "GROUP BY primary key"? You're right. I was just looking for something easy to hack on and didn't put much thought into usefulness. I'll try to do better next time. :) Regards, Marti