Re: Syntax bug? Group by? - Mailing list pgsql-hackers

From Przemek
Subject Re: Syntax bug? Group by?
Date
Msg-id 453608fff0494@wp.pl
Whole thread Raw
In response to Syntax bug? Group by?  ("Mark Woodward" <pgsql@mohawksoft.com>)
List pgsql-hackers

Dnia 17-10-2006 o godz. 23:21 Tom Lane napisał(a):
> Andrew Dunstan <andrew@dunslane.net> writes:
> > Mark Woodward wrote:
> >> My question, is it a syntactic technicality that PostgreSQL asks for a
> >> "group by," or a bug in the parser?
> 
> > AFAIK what you want is not per sql spec.
> 
> It would in fact be a violation of spec.  Consider the case where there
> are no rows matching 15.  In this case
> 
> select min(tindex), avg(tindex) from y where ycis_id = 15;
> 
> will yield one row containing NULLs, whereas
> 
> select min(tindex), avg(tindex) from y where ycis_id = 15 group by 
> ycis_id;
> 
> will yield no rows (because there are no groups).  Therefore, if
> Postgres were to implicitly insert a GROUP BY to make it legal to
> reference ycis_id directly, we'd be changing the query behavior
> and breaking spec.
> 
>             regards, tom lane
> 


Hello

IMHO:

Also take into consider that - what should be expected behavior of this:

select ycis_id, min(tindex), avg(tindex) from y where ycis_id = truncate(random()*100);

Since result of comparission is not known on parsing phase it couldn't be done here if there is no other requirements
onargum
 




pgsql-hackers by date:

Previous
From: "Heikki Linnakangas"
Date:
Subject: Bitmap index status
Next
From: Shane Ambler
Date:
Subject: Re: Mirror problems for download