]> granicus.if.org Git - postgresql/commit
When we have successfully optimized a MIN or MAX aggregate into an indexscan,
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 Mar 2008 19:06:14 +0000 (19:06 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 27 Mar 2008 19:06:14 +0000 (19:06 +0000)
commitff72280c9ee35bf67c9b711837594fde29b86c4d
tree8054768c8515c7d3770290c02058f91c3ee6b48d
parent39627b1ae680cba44f6e56ca5facec4fdbfe9495
When we have successfully optimized a MIN or MAX aggregate into an indexscan,
the query result must be exactly one row (since we don't do this when there's
any GROUP BY).  Therefore any ORDER BY or DISTINCT attached to the query is
useless and can be dropped.  Aside from saving useless cycles, this protects
us against problems with matching the hacked-up tlist entries to sort clauses,
as seen in a bug report from Taiki Yamaguchi.  We might need to work harder
if we ever try to optimize grouped queries with this approach, but this
solution will do for now.
src/backend/optimizer/plan/planner.c