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.