[
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)