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

Reply via email to