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

Julian Hyde commented on CALCITE-2970:
--------------------------------------

bq. Do you mean getRelBuilderTransform() is a lambda provided by conventions?

That was what I was suggesting. A typical implementation would look like this:

{code}
  @Override public UnaryOperator<RelBuilder> getRelBuilderTransform() {
    return r -> r.withFactory(MY_FOO_FACTORY);
  }
{code}

Even though I don't approve of sub-classing {{RelBuilder}} it would work fine 
with sub-classes. (Assuming that {{withFactory}} is a method on the base class.)

We don't even need to go so far as a lambda. The following API would be 
sufficient:

{code}
  @Override public RelBuilder transformRelBuilder(RelBuilder r) {
    return r.withFactory(MY_FOO_FACTORY);
  }
{code}


> 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