Commit c42f7f14 authored by Vadim B. Mikheev's avatar Vadim B. Mikheev

Fix GROUP BY when order of entries is different from order in target list.

parent bb0cc20e
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.7 1997/09/08 21:45:24 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planmain.c,v 1.8 1997/09/25 12:21:15 vadim Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -394,7 +394,6 @@ make_groupPlan(List **tlist,
Group *grpplan;
int numCols;
AttrNumber *grpColIdx;
int keyno = 1;
int last_resno = 1;
numCols = length(groupClause);
......@@ -412,13 +411,15 @@ make_groupPlan(List **tlist,
*/
foreach(sl, sort_tlist)
{
Resdom *resdom = NULL;
TargetEntry *te = (TargetEntry *) lfirst(sl);
Resdom *resdom = NULL;
TargetEntry *te = (TargetEntry *) lfirst(sl);
int keyno = 0;
foreach(gl, glc)
foreach(gl, groupClause)
{
GroupClause *grpcl = (GroupClause *) lfirst(gl);
keyno++;
if (grpcl->entry->resdom->resno == te->resdom->resno)
{
......@@ -427,7 +428,6 @@ make_groupPlan(List **tlist,
resdom->reskeyop = get_opcode(grpcl->grpOpoid);
resdom->resno = last_resno; /* re-set */
grpColIdx[keyno - 1] = last_resno++;
keyno++;
glc = lremove(lfirst(gl), glc); /* TLE found for it */
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment