public static final class DynamicSqlLineageResolver.MaterializedSite extends Object
DynamicSqlLineageResolver.materializeSitesWithoutBindings(gudusoft.gsqlparser.TCustomSqlStatement, gudusoft.gsqlparser.EDbVendor, gudusoft.gsqlparser.dlineage.dynamicsql.DynamicLineageOptions)).| Modifier and Type | Field and Description |
|---|---|
String |
diagnostic
Additive analysis note, such as a constant-relation over-approximation.
|
List<SqlFragment> |
fragments
Ordered provenance fragments.
|
boolean |
partial
True when the text still contains placeholder tokens for unbound variables/parameters.
|
boolean |
provenanceIncomplete
True unless the materialization is usable and every rendered character
has literal provenance.
|
String |
reason
Why the string did not reduce; non-null iff
sqlText is null. |
String |
sqlText
Usable (possibly placeholder-bearing) SQL text, or
null if the string did not reduce. |
String |
variantPath
Stable value-set row-tuple suffix; empty on the scalar compatibility path.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
hasCompleteLiteralProvenance() |
public final String sqlText
null if the string did not reduce.public final boolean partial
public final boolean provenanceIncomplete
partial: a legacy-CONCRETE numeric/inexact transform can still
have a provenance hole that SHADOW must report.public final List<SqlFragment> fragments
sqlText is non-null their
concatenated text equals it (design:
dynamic-sql-fragment-provenance-design.md); SHADOW completeness checks
and resolved dynamic edges consume that. When the string did not reduce
(sqlText null) they are the best-effort provenance of the
argument — every hole met, in order, so a consumer can still name the
value that stopped the fold; their concatenated text is only how far
the fold got. Empty when the producing channel carries no provenance.public final String diagnostic
public final String variantPath
public boolean hasCompleteLiteralProvenance()