> > > > postgres=> select b,c,sum(a) from t1 group by b,c;
> > > > b|c|sum
> > > > -+-+---
> > > >  |x|  5
> > > >  |z|  3
> > > >  |x|  0
> > > > (3 rows)
> > > >
> > > > postgres=> select * from t1;
> > > > a|b|c
> > > > -+-+-
> > > > 1| |x
> > > > 2| |x
> > > > 2| |x
> > > > 3| |z
> > > > 0| |x
> > > > (5 rows)
> > > >
> > > ...
> > 
> And in v6.1. If b is a space (rather than a NULL), then the behaviour is correct
> so it must be a problem in grouping NULLs.
> 

explain select b,c,sum(a) from foo group by b,c; -- gives...

Aggregate  (cost=0.00 size=0 width=0)
  ->   Group  (cost=0.00 size=0 width=0)
    ->     Sort  (cost=0.00 size=0 width=0)
      ->       Seq Scan on foo  (cost=0.00 size=0 width=28)

There sort is there before the grouping operation, so this would seem to point to
the sort code incorrectly setting something when handling NULLs.

This doesn't seem like the same bug that Vadim found since a small data set such as
this one _shouldn't_ be going out to a tape file.

darrenk

Thu, 29 Jan 1998 08:37:53 -0500
darrenk@insightdist.com (Darren King)
Re: [HACKERS] No: implied sort with group by
> > And in v6.1. If b is a space (rather than a NULL), then the behaviour is correct
> > so it must be a problem in grouping NULLs.
> > 
> 
> explain select b,c,sum(a) from foo group by b,c; -- gives...
> 
> Aggregate  (cost=0.00 size=0 width=0)
>   ->   Group  (cost=0.00 size=0 width=0)
>     ->     Sort  (cost=0.00 size=0 width=0)
>       ->       Seq Scan on foo  (cost=0.00 size=0 width=28)
> 
> There sort is there before the grouping operation, so this would seem to point to
> the sort code incorrectly setting something when handling NULLs.
> 
> This doesn't seem like the same bug that Vadim found since a small data set such as
> this one _shouldn't_ be going out to a tape file.

We have a NULL sort patch for psort in 6.3.  Are you running the most
recent sources?

-- 
Bruce Momjian
maillist@candle.pha.pa.us

Thu, 29 Jan 1998 09:51:04 -0500 (EST)
Bruce Momjian <maillist@candle.pha.pa.us>
Re: [HACKERS] No: implied sort with group by