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

Stamatis Zampetakis commented on CALCITE-2970:
----------------------------------------------

Thanks [~xndai] and [~julianhyde] for the clarifications. I did read your 
answers carefully but I still find {{RelBuilderFactory}} more suitable to be in 
{{Convention}} API. 

>From my point of view the builder coming from the convention should only deal 
>with which kind of operators we need to create. 
If we want to combine the builder coming from the convention with another 
builder (in order to keep some state) that we have at hand then the existing 
{{RelBuilder#transform}} or a similar API in {{RelBuilder}} could help. 

I was thinking that even the RelBuilderFactory that is part of the rule could 
be possibly replaced with {{Convention#getRelFactory}} at some point. 

Other than that, I like the fact that the RelBuilder is immutable and with the 
new APIs its not the case anymore. I guess you weighted well the pros/cons of 
this decision so I am not opening again a thread. Obviously since I like 
immutability, I don't really mind about the cost of instantiating a 
{{RelBuilder}} every know and then.

Having said all this, given that [~xndai], [~julianhyde], and [~hyuan] prefer 
the current proposal using {{Convention#transformRelBuilder}} and the new APIs 
in {{RelBuilder}} I don't want to stand in the way. You can move forward as you 
see fit.

> 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: 18h 20m
>  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