in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/catalog/CatalogOperations.java [246:268]
public static void createFunctionInCatalog(
SimpleCatalog catalog,
String nameInCatalog,
FunctionInfo functionInfo,
CreateMode createMode) {
boolean alreadyExists = functionExists(catalog, nameInCatalog);
Function function =
new Function(
ImmutableList.of(nameInCatalog),
functionInfo.getGroup(),
functionInfo.getMode(),
functionInfo.getSignatures());
createResource(
nameInCatalog,
createMode,
"Function",
alreadyExists,
/*creator=*/ () -> catalog.addFunction(function),
/*deleter=*/ () -> deleteFunctionFromCatalog(catalog, nameInCatalog));
}