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