public enum RelationKind extends Enum<RelationKind>
RelationSource.
Slice 1 only emits TABLE. CTE / SUBQUERY / UNION are
reserved for later slices and exist here so the JSON shape does not
change when those cases land.
Slice 14 added OUTER_REFERENCE: a synthesised relation
an inner statement carries to model an alias actually owned by an
enclosing scope. Slice 15 extends OUTER_REFERENCE so the binding's
outerKind (set via the 3-arg
RelationBinding
constructor) records what the outer relation is really bound to:
one of {TABLE, CTE, SUBQUERY}. Canonical-edge emission
dispatches through that resolved kind so CTE / SUBQUERY outer
correlations BFS the outer body to base columns just like
non-correlated CTE / SUBQUERY relations do.
| Enum Constant and Description |
|---|
CTE |
OUTER_REFERENCE |
SUBQUERY |
TABLE |
UNION |
UNKNOWN |
| Modifier and Type | Method and Description |
|---|---|
static RelationKind |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static RelationKind[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final RelationKind TABLE
public static final RelationKind CTE
public static final RelationKind SUBQUERY
public static final RelationKind UNION
public static final RelationKind UNKNOWN
public static final RelationKind OUTER_REFERENCE
public static RelationKind[] values()
for (RelationKind c : RelationKind.values()) System.out.println(c);
public static RelationKind valueOf(String name)
name - the name of the enum constant to be returned.IllegalArgumentException - if this enum type has no constant with the specified nameNullPointerException - if the argument is null