in zetasql-toolkit-bigquery/src/main/java/com/google/zetasql/toolkit/catalog/bigquery/BigQueryAPIResourceProvider.java [357:375]
private FunctionArgumentType parseRoutineArgument(RoutineArgument argument) {
ProcedureArgumentMode procedureArgumentMode =
argument.getMode() == null
? ProcedureArgumentMode.NOT_SET
: ProcedureArgumentMode.valueOf(argument.getMode());
FunctionArgumentTypeOptions options =
FunctionArgumentTypeOptions.builder()
.setArgumentName(argument.getName(), NamedArgumentKind.POSITIONAL_ONLY)
.setProcedureArgumentMode(procedureArgumentMode)
.build();
if (Objects.equals(argument.getKind(), "ANY_TYPE")) {
return new FunctionArgumentType(SignatureArgumentKind.ARG_TYPE_ARBITRARY, options, 1);
} else {
Type zetaSqlDataType = this.convertBigQueryDataTypeToZetaSQLType(argument.getDataType());
return new FunctionArgumentType(zetaSqlDataType, options, 1);
}
}