in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/CatalogUpdaterVisitor.java [210:229]
public void visit(ResolvedCreateTableFunctionStmt createTableFunctionStmt) {
List<Column> outputSchemaColumns =
createTableFunctionStmt.getOutputColumnList().stream()
.map(
resolvedOutputColumn ->
Column.create(
resolvedOutputColumn.getName(), resolvedOutputColumn.getColumn().getType()))
.collect(Collectors.toList());
TVFInfo tvfInfo =
TVFInfo.newBuilder()
.setNamePath(createTableFunctionStmt.getNamePath())
.setSignature(createTableFunctionStmt.getSignature())
.setOutputSchema(TVFRelation.createColumnBased(outputSchemaColumns))
.build();
CreateMode createMode = createTableFunctionStmt.getCreateMode();
catalog.register(tvfInfo, createMode, CreateScope.CREATE_DEFAULT_SCOPE);
}