private static Set extractColumnLevelLineageForOutputColumns()

in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/tools/lineage/ColumnLineageExtractor.java [96:116]


  private static Set<ColumnLineage> extractColumnLevelLineageForOutputColumns(
      String targetTableName,
      List<ResolvedOutputColumn> outputColumns,
      ResolvedStatement statement) {

    HashSet<ColumnLineage> result = new HashSet<>();

    for (ResolvedOutputColumn outputColumn : outputColumns) {
      List<ResolvedColumn> expandedResolvedColumns = expandColumn(outputColumn.getColumn());

      for (ResolvedColumn expandedResolvedColumn : expandedResolvedColumns) {
        List<ResolvedColumn> parentColumns =
            ParentColumnFinder.findParentsForColumn(statement, expandedResolvedColumn);
        ColumnLineage lineageEntry =
            buildColumnLineage(targetTableName, outputColumn.getName(), parentColumns);
        result.add(lineageEntry);
      }
    }

    return result;
  }