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

Julian Hyde commented on CALCITE-2970:
--------------------------------------

[~danny0405], You wrote:

bq. Modify the RelBuilder directly makes the RelBuilder too complex to use

That is a valid concern in theory. However, we have been refactoring 
{{RelBuilder}} as it grows and I contend that it is still extremely easy to 
use. There is a lot of power, but it is a very well-designed abstraction and 
therefore makes the power manageable.

One thing that {{RelBuilder}} will never do is complex rewrites. Those are the 
domain of {{RelOptRule}}.

But it does simplification, name resolution (e.g. referencing fields by name 
and table alias), and can create RelNodes of different types via factories.

RelBuilder has not yet managed to solve the problem of {{RelNode.copy}}. I am 
optimistic that we can solve it if we carry on trying.

> Performance issue when enabling abstract converter for EnumerableConvention
> ---------------------------------------------------------------------------
>
>                 Key: CALCITE-2970
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2970
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Haisheng Yuan
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 12h
>  Remaining Estimate: 0h
>
> If we enable the use of abstract converter for {{EnumerableConvention}}, by 
> making {{useAbstractConvertersForConversion}} return true, 
> {{JDBCTest.testJoinManyWay}} will not complete.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to