Re: Functional dependencies and GROUP BY
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Stephen Frost <sfrost@snowman.net>
Cc: Greg Stark <gsstark@mit.edu>, Peter Eisentraut <peter_e@gmx.net>, pgsql-hackers@postgresql.org
Date: 2010-06-08T15:33:19Z
Lists: pgsql-hackers
Stephen Frost <sfrost@snowman.net> writes: > * Tom Lane (tgl@sss.pgh.pa.us) wrote: >> Perhaps the correct fix would be to mark stored query trees as having a >> dependency on the index, so that dropping the index/constraint would >> force a drop of the rule too. > Alternatively, we could rewrite the rule (not unlike what we do for > "SELECT *") to actually add on the other implicitly grouped-by columns.. > I don't know if that's better or worse than creating a dependency, > since if the constraint were dropped/changed, people might expect the > rule's output to change. Hm. The problem with that is that one of the benefits we'd like to get from this is an efficiency win: the generated plan ought to only group by the PK, not uselessly sort/group by everything in the row. I suppose we could have the planner reverse-engineer its way to that, but it seems awfully slow and clunky to add on the extra columns and then reason our way to removing them again. regards, tom lane