db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Satheesh Bandaram <sathe...@Sourcery.Org>
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:29:42 GMT
It has already been done... by Dan. I meant it to be marked an
'Improvement', which is what it is now.

Satheesh

Rick Hillegas wrote:

> 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