The best way to figure out what is possible/supported is to read the
unit tests. E.g. UdfTest.java.

On Mon, Feb 19, 2024 at 10:16 AM Akshay <akshayiyan...@gmail.com> wrote:
>
> Hi
>
> I was wondering if someone could help me with this.
>
> I have a custom Avro Adapter that applies SQL on AVRO records. I register
> all the UDFs as a scalar function today where I simply call
>
> ScalarFunctionImpl.create(
>     calciteFunction.getClazz(), calciteFunction.getMethodName())));
>
>
> But now I have some UDFs where I will need to pass some context for the
> UDFs where these are parameters outside the UDF parameters.I was thinking
> of passing this in a constructor argument, but unfortunately, when the
> adapter code pushes down my UDFs for evaluation I don't see the constructor
> argument. I need this to be available inside my `eval` function.
>
> using static variables works locally and I can retrieve it. but in a
> distributed world (spark) engine I see the value to be null. Is there a way
> to pass parameters to scalar functions without having them being part of
> the method signature?
>
> I was wondering what would be the easiest way for me to achieve this.

Reply via email to