[ https://issues.apache.org/jira/browse/CALCITE-3008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16820604#comment-16820604 ]
Haisheng Yuan commented on CALCITE-3008: ---------------------------------------- {quote} That's actually a good point. SqlToRelConverter requires us to generate one AuxiliaryConverter instance for each SqlFunction (e.g. the List), so it would be very inefficient to pass a reflective class object and then call the newInstance method. I do have the option to change the AuxiliaryConverter API to do RexNode convert(RexBuilder rexBuilder, RexNode groupCall, RexNode e, SqlFunction sqlCall); With the extra parameter, we can make the AuxiliaryConverter static. This require to change a public interface which I hesitated to do so. {quote} I am inclined to pass SqlFunction to convert function of AuxiliaryConverter, and deprecate the old method and Impl.f. [~julianhyde] Any reason you want to keep SqlFunction as a member of AuxiliaryConverter.Impl? > Making AuxiliaryConverter Pluggable > ----------------------------------- > > Key: CALCITE-3008 > URL: https://issues.apache.org/jira/browse/CALCITE-3008 > Project: Calcite > Issue Type: Improvement > Components: core > Reporter: Rong Rong > Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > Currently the {{AuxiliaryConverter}} in calcite core is set to be static with > only one basic implementation. It would be nice to have it pluggable so that > other systems can implement its own. > Was wondering if this would be a good feature to add? -- This message was sent by Atlassian JIRA (v7.6.3#76005)