public static final class DynamicSqlEdgeProof.EdgeEvidence extends Object
| Constructor and Description |
|---|
EdgeEvidence() |
| Modifier and Type | Method and Description |
|---|---|
DynamicSqlEdgeProof.EdgeEvidence |
source(TParseTreeNode relation)
The edge's source relation node (a
TTable, an INTO clause,
a derived-table node). |
DynamicSqlEdgeProof.EdgeEvidence |
sourceReference(TObjectName reference)
A column reference on the SOURCE side: it must bind to the source
relation.
|
DynamicSqlEdgeProof.EdgeEvidence |
structure(TParseTreeNode node)
An additional structural node whose span must also be literal and
stable (a clause node, a join condition).
|
DynamicSqlEdgeProof.EdgeEvidence |
target(TParseTreeNode relation)
The edge's target relation node.
|
DynamicSqlEdgeProof.EdgeEvidence |
targetReference(TObjectName reference)
A column reference on the TARGET side: it must bind to the target
relation.
|
public EdgeEvidence()
public DynamicSqlEdgeProof.EdgeEvidence source(TParseTreeNode relation)
TTable, an INTO clause,
a derived-table node). Mandatory. Must NOT be a TObjectName —
names go through #reference so they cannot skip P3.public DynamicSqlEdgeProof.EdgeEvidence target(TParseTreeNode relation)
source(gudusoft.gsqlparser.nodes.TParseTreeNode).public DynamicSqlEdgeProof.EdgeEvidence sourceReference(TObjectName reference)
public DynamicSqlEdgeProof.EdgeEvidence targetReference(TObjectName reference)
Roles are directional on purpose: "binds to either endpoint" would
certify the reverse edge, e.g. source(d).target(t) over
INSERT INTO d(x) SELECT t.a FROM t.
public DynamicSqlEdgeProof.EdgeEvidence structure(TParseTreeNode node)
TObjectName passed here is rejected, because it
would skip the P3 binding check.