public enum MetadataState extends Enum<MetadataState>
Slice S4 (plan §5.5) introduces this enum so the binding post-pass can
distinguish "catalog says column missing" (authoritative) from "metadata is
unavailable" (silent). Without this distinction strict-mode
UNKNOWN_COLUMN would fire on every unbacked table — the largest
false-positive risk for the binding feature.
Returned by INamespace.getMetadataState().
FOUND — namespace has authoritative column metadata. A column
absent from this namespace is genuinely missing and may emit
UNKNOWN_COLUMN (see plan §5.4 frozen codes).NOT_FOUND_IN_CATALOG — namespace consulted a real catalog and
the table itself is absent. Drives strict-mode UNKNOWN_TABLE
(S6); never causes UNKNOWN_COLUMN.METADATA_UNAVAILABLE — no authoritative source: no
TSQLEnv, an empty env, a table found but with no expanded
columns (Q8 view-without-columns), or a derived namespace whose inner
projection is unknown. Strict mode may emit
CATALOG_METADATA_UNAVAILABLE (WARNING); non-strict is silent.
Never causes UNKNOWN_COLUMN.| Enum Constant and Description |
|---|
FOUND
Authoritative metadata is present; absent columns are genuinely missing.
|
METADATA_UNAVAILABLE
No authoritative metadata is available.
|
NOT_FOUND_IN_CATALOG
The catalog consulted does not contain the table.
|
| Modifier and Type | Method and Description |
|---|---|
static MetadataState |
valueOf(String name)
Returns the enum constant of this type with the specified name.
|
static MetadataState[] |
values()
Returns an array containing the constants of this enum type, in
the order they are declared.
|
public static final MetadataState FOUND
public static final MetadataState NOT_FOUND_IN_CATALOG
UNKNOWN_TABLE but never UNKNOWN_COLUMN.public static final MetadataState METADATA_UNAVAILABLE
CATALOG_METADATA_UNAVAILABLE; non-strict is silent.public static MetadataState[] values()
for (MetadataState c : MetadataState.values()) System.out.println(c);
public static MetadataState 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