Обсуждение: Re: [HACKERS] No: implied sort with group by

Поиск
Список
Период
Сортировка

Re: [HACKERS] No: implied sort with group by

От
darrenk@insightdist.com (Darren King)
Дата:
> > > > 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

Re: [HACKERS] No: implied sort with group by

От
Bruce Momjian
Дата:
> > 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