[ 
https://issues.apache.org/jira/browse/CALCITE-2470?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16593010#comment-16593010
 ] 

Julian Hyde commented on CALCITE-2470:
--------------------------------------

My fix is ready, and all tests pass. Can someone please review 
https://github.com/julianhyde/calcite/tree/2470-relBuilder-merge-project?

I'm not sure that I've handled dynamic stars correctly. For example see the 
plan changes that I made for 
{{SqlToRelConverterTest.testGrpByColFromStarInSubQuery}} and 
{{.testWindowOnDynamicStar}}. [~jni] and [~vvysotskyi], since you wrote those 
tests, can one of you (or another Drill committer) please review.

There are a lot of other plan changes - many of them are significant 
improvements, such as removing redundant projects and deriving better names for 
fields. But still, this change is likely to cause some plan changes for any 
downstream project that uses it.

> RelBuilder.project should combine expressions if underlying node is a Project
> -----------------------------------------------------------------------------
>
>                 Key: CALCITE-2470
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2470
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>            Priority: Major
>             Fix For: 1.18.0
>
>
> The {{RelBuilder.project}} method should combine expressions if underlying 
> node is a {{Project}}.
> For example, if {{r}} is a {{RelBuilder}} and its stack initially contains
> {code:java}
> Project(Scan(T), a, b, a + b as c){code}
> and we call (in pseudo-code)
> {code:java}
> r.project(a + c as d){code}
> then the result should be
> {code:java}
> Project(Scan(T), a + (a + b) as d){code}
> Today the result is
> {code:java}
> Project(Project(Scan(T), a, a + b as c), a + c as d){code}
> In some circumstances the result will be larger (i.e. contain more 
> {{RexNode}} instances) but much more frequently the result will be smaller 
> and simpler.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to