I’m not sure I understand your difficulty; you shouldn’t have to do anything other than change the implementation you already have, that is, change
@Override public void initializeFunctionRegistry(QueryEngine queryEngine) { super.initializeFunctionRegistry(queryEngine); queryEngine.getSqmFunctionRegistry().register(PostgresqlJsonArrayFunction.NAME, new PostgresqlJsonArrayFunction()); }
to
@Override public void initializeFunctionRegistry(FunctionContributions functionContributions) { super.initializeFunctionRegistry(functionContributions); functionContributions.getFunctionRegistry().register(PostgresqlJsonArrayFunction.NAME, new PostgresqlJsonArrayFunction()); }
Let me know if this helps.