[
https://issues.apache.org/jira/browse/CALCITE-2970?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16970925#comment-16970925
]
Haisheng Yuan commented on CALCITE-2970:
----------------------------------------
Here is what we have done in MaxCompute. We have a EnforcerRule to match
AbstractConverter. When the distribution doesn't match/satisfy, we create an
Exchange node with our convention, Sort node when collation doesn't
match/satisfy. All the enforcing work is done inside EnforcerRule. Calcite can
just provide an abstract enforcing rule, Enumerable convention can extend it
and add it to the rule set.
Adding encoring operator through rule is not ideal, but might be good enough
for VolcanoPlanner considering its current design architecture of extensive
usage of AbstractConverter.
> 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: 1h 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)