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

Haisheng Yuan commented on CALCITE-2970:
----------------------------------------

Getting back to the physical RelBuilder pull request.
- RelBuilderFactory and RelFactories.LOGICAL_BUILDER should remain unchanged, 
otherwise it is breaking.
- Convention can have a `getRelBuilder()` interface, in EnumerableConvention, 
the change is as simple as:
{code:java}
  private static RelBuilderFactory factory = RelBuilder.proto(
      (RelFactories.SortFactory) (input, collation, offset, fetch)
          -> EnumerableSort.create(input, collation, offset, fetch), ..., ...);

  public RelBuilder getRelBuilder(RelOptCluster cluster) {
    return factory.create(cluster, null);
  }
{code}
- RelTraitDef.convert and RelCollationTraitDef.convert shouldn't require 
toConvention, it can get convention from either  rel (for non-convention trait) 
or toTrait (for convention trait).



> 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: 13h 10m
>  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