public final class CatalogParentConstraint extends Object
schema.relation.column establishes that the parent is a relation, but not whether the
object it resolves to will be a table, a view or a materialized view. An API that demanded the
exact kind would force the caller to invent TABLE to get past it — which is the
arity-style guess in a new costume, and it would then reject the perfectly correct answer when the
name turned out to be a view.
So a lookup carries a family; only CatalogObjectKey carries an exact kind.
| Modifier and Type | Field and Description |
|---|---|
static CatalogParentConstraint |
RELATION
Relations own columns.
|
static CatalogParentConstraint |
ROUTINE_CONTAINER
Containers that own routines.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
admits(CatalogObjectKind kind) |
Set<CatalogObjectKind> |
allowedKinds() |
boolean |
equals(Object o) |
CatalogObjectKind |
exactKind()
The single kind, when this constraint names exactly one; null for a family.
|
static CatalogParentConstraint |
exactly(CatalogObjectKind kind)
Exactly one kind — for a caller whose metadata genuinely states it.
|
int |
hashCode() |
String |
toString() |
public static final CatalogParentConstraint RELATION
public static final CatalogParentConstraint ROUTINE_CONTAINER
public static CatalogParentConstraint exactly(CatalogObjectKind kind)
public boolean admits(CatalogObjectKind kind)
public CatalogObjectKind exactKind()
public Set<CatalogObjectKind> allowedKinds()