I didn't go deep into CALCITE-6259, so I might not able to give you
the precise solution / code. Generally, you can add your operator
table in front of the standard operator table, or just leave the
standard operator table out, that would meet the requirement that you
want to "override" a standard operator.

Cancai Cai <caic68...@gmail.com> 于2024年3月10日周日 17:43写道:
>
> It seems like I can't find a suitable way to solve this problem, can you
> give me some suggestions?
>
> Best regards,
> Cancai Cai
>
> Benchao Li <libenc...@apache.org> 于2024年3月5日周二 19:26写道:
>
> > It's not a class loading problem, it's an operator lookup mechanism,
> > which is a by design behavior, you can see details here[1]. If there
> > are multiple candidates in the result of operator lookup, the first
> > one will be returned.
> >
> > [1]
> > https://github.com/apache/calcite/blob/d64ee0037db7abacdfcd4e774072f5e3fb8f2998/core/src/main/java/org/apache/calcite/sql/SqlUtil.java#L494-L517
> >
> > Cancai Cai <caic68...@gmail.com> 于2024年3月5日周二 16:53写道:
> > >
> > > Hello, everyone in the calcite community.
> > >
> > > I'm not sure if I should ask this question.
> > >
> > > In the process of fixing CALCITE-6259
> > > <https://issues.apache.org/jira/browse/CALCITE-6259>, I found that I
> > > defined a log10_MS function in SqlLibraryOperators to simulate the
> > behavior
> > > of the log function in mysql, but the ReturnTypes.DOUBLE_FORCE_NULLABLE I
> > > set was not Effective, its return value still complies with the
> > ReturnTypes
> > > of the LOG10 function in SqlStdOperatorTable. It seems to be a class
> > > loading conflict. I tried to modify sqlkind, but it didn’t take effect.
> > Is
> > > there any good way?
> > >
> > > Thank you all.
> > >
> > > Best wishes.
> > > Cancai Cai
> >
> >
> >
> > --
> >
> > Best,
> > Benchao Li
> >



-- 

Best,
Benchao Li

Reply via email to