public class StructFieldHint extends Object
Unlike ColumnSource (which is part of the main resolution result and
triggers sourceTable binding), this hint is purely informational. It provides
struct field path information to downstream consumers (e.g., DataFlowAnalyzer)
without altering the resolution path or lineage topology.
This solves the problem where 3-part no-alias struct access like
customer.address.city FROM orders cannot use the main EXACT_MATCH
resolution path because doing so changes sourceTable binding and breaks
existing lineage chains (see plan document Section 10).
Example:
-- SQL: SELECT customer.address.city FROM orders -- StructFieldHint: -- baseColumn = "customer" -- fieldPath = ["address", "city"] -- evidence = "struct_field_hint_no_alias" -- confidence = 0.7
FieldPath| Constructor and Description |
|---|
StructFieldHint(String baseColumn,
FieldPath fieldPath,
String evidence,
double confidence) |
| Modifier and Type | Method and Description |
|---|---|
String |
getBaseColumn() |
double |
getConfidence() |
String |
getEvidence() |
FieldPath |
getFieldPath() |
String |
toFullReference()
Get the full dotted reference (e.g., "customer.address.city").
|
String |
toString() |
public StructFieldHint(String baseColumn, FieldPath fieldPath, String evidence, double confidence)
public String getBaseColumn()
public FieldPath getFieldPath()
public String getEvidence()
public double getConfidence()
public String toFullReference()