public final class CanonicalLineageModel extends Object
getEdges() — the canonical edge set. SELECT edges have a
non-null outputName; FILTER/JOIN edges have null.getOutputNames() — every outer output column the side
produced (lower-cased). May contain names that have zero SELECT
edges (aggregate-only outputs such as COUNT(*)).getAggregateByOutput() — per-output aggregate flag. The
map covers exactly the names in getOutputNames().All names (output, base table, base column) in this model are lower-cased. Original casing is preserved by the JSON exporter for triage but never participates in comparison.
| Constructor and Description |
|---|
CanonicalLineageModel(Set<CanonicalLineageEdge> edges,
Set<String> outputNames,
Map<String,Boolean> aggregateByOutput) |
| Modifier and Type | Method and Description |
|---|---|
static CanonicalLineageModel |
empty()
Empty model used by
ProjectorResult when projection is unsupported. |
Map<String,Boolean> |
getAggregateByOutput() |
Set<CanonicalLineageEdge> |
getEdges() |
Set<String> |
getOutputNames() |
public CanonicalLineageModel(Set<CanonicalLineageEdge> edges, Set<String> outputNames, Map<String,Boolean> aggregateByOutput)
public Set<CanonicalLineageEdge> getEdges()
public Set<String> getOutputNames()
public Map<String,Boolean> getAggregateByOutput()
public static CanonicalLineageModel empty()
ProjectorResult when projection is unsupported.