db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick Hillegas <Richard.Hille...@Sun.COM>
Subject Re: [jira] Commented: (DERBY-681) Eliminate the parser's rewriting of the abstract syntax tree for queries with GROUP BY and/or HAVING clauses
Date Thu, 03 Nov 2005 23:05:17 GMT
If anyone feels strongly about reclassifying this as an enhancement, 
they are welcome to do so. I filed it as a bug fix because it seemed to 
me to address the root cause of a nest of bugs.

Cheers,
-Rick

Satheesh Bandaram (JIRA) wrote:

>    [ http://issues.apache.org/jira/browse/DERBY-681?page=comments#action_12356724 ] 
>
>Satheesh Bandaram commented on DERBY-681:
>-----------------------------------------
>
>Should this be marked an Enhancement request? While I agree the current scheme of rewriting
the query can be improved, it does achieve the functionality. Bugs in the current implementation
have been logged separately. (like DERBY-280) Changing the mechanism should be marked an Enhancement,
I think.
>
>  
>
>>Eliminate the parser's rewriting of the abstract syntax tree for queries with GROUP
BY and/or HAVING clauses
>>------------------------------------------------------------------------------------------------------------
>>
>>         Key: DERBY-681
>>         URL: http://issues.apache.org/jira/browse/DERBY-681
>>     Project: Derby
>>        Type: Improvement
>>    Reporter: Rick Hillegas
>>    
>>
>
>  
>
>>If a query contains a GROUP BY or HAVING clause, the parser rewrites the abstract
syntax tree, putting aggregates into a subselect and treating the HAVING clause as the WHERE
clause of a fabricated outer select from the subquery. This allows the compiler to re-use
some machinery since the HAVING clause operates on the grouped result the way that the WHERE
clause operates on the from list. Unfortunately, this rewriting creates an explosion of special
cases in the compiler after parsing is done. The rewriting is not systematically handled later
on in the compiler. This gives rise to defects like bug 280. We need to eliminate this special
rewriting and handle the HAVING clause in a straightforward way. This is not a small bugfix
but is a medium sized project.
>>    
>>
>
>  
>


Mime
View raw message