in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/tools/lineage/ColumnLineageExtractor.java [73:85]
private static List<ResolvedColumn> expandColumn(ResolvedColumn column) {
Type type = column.getType();
if (type.isStruct()) {
return type.asStruct().getFieldList().stream()
.map(field -> buildColumnSubfield(column, field.getName(), field.getType()))
.map(ColumnLineageExtractor::expandColumn)
.flatMap(List::stream)
.collect(Collectors.toList());
}
return ImmutableList.of(column);
}