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

Xiening Dai commented on CALCITE-2970:
--------------------------------------

{quote}
Note that you can create a physical RelBulder by swapping out its 
RelBuilder.struct field for one that contains factories for the particular 
convention you are targeting.
{quote}

[~julianhyde], I took a similar approach in my proposal 
(https://github.com/apache/calcite/pull/1884). Instead of swapping out, I 
create a mapping of convention and its corresponding struct. So RelBuilder 
could support .withConvention() syntax.

We should have a way to create physical RelNode within framework, rather than 
completely relying on rules. If this is the goal, and potentially this 
mechanism could be used in other places than enforcement, it's not a good idea 
to implement it through Convention.enforce(). RelBuilder is a better 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: 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