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

Reply via email to