public final class CatalogColumn extends Object
Catalog.
Slice 173 (join-analysis S12) extends it with optional, additive
metadata — declared data type, nullability, and PRIMARY KEY / UNIQUE /
indexed flags — that external callers may supply. The parser
never fetches these; they are accepted and surfaced verbatim. The
one-arg constructor and all prior behaviour are unchanged: a column
built with just a name reports null type, null
nullability (unknown), and false key/index flags.
Identifier semantics (case folding, quoted vs unquoted, vendor
rules) are delegated to TSQLEnv via the analyzer's internal
bridge — names are stored exactly as written by the caller.
This class is immutable and safe to share across threads.
| Modifier and Type | Class and Description |
|---|---|
static class |
CatalogColumn.Builder
Fluent builder for a
CatalogColumn with optional metadata. |
| Constructor and Description |
|---|
CatalogColumn(String name) |
CatalogColumn(String name,
String dataType,
Boolean nullable,
boolean primaryKey,
boolean unique,
boolean indexed)
Full constructor (slice 173).
|
| Modifier and Type | Method and Description |
|---|---|
static CatalogColumn.Builder |
builder(String name)
A fresh builder for a column with the given name.
|
String |
getDataType()
Declared data type, or
null when not supplied. |
String |
getName() |
Boolean |
getNullable()
TRUE/FALSE when known, null when unknown. |
boolean |
isIndexed() |
boolean |
isPrimaryKey() |
boolean |
isUnique() |
String |
toString() |
public CatalogColumn(String name)
name - the column name as written by the caller; must be non-null
and non-empty.IllegalArgumentException - when name is null or empty.public CatalogColumn(String name, String dataType, Boolean nullable, boolean primaryKey, boolean unique, boolean indexed)
dataType may be null, nullable may be null (unknown),
and the key/index flags default to false.public static CatalogColumn.Builder builder(String name)
public String getDataType()
null when not supplied.public Boolean getNullable()
TRUE/FALSE when known, null when unknown.public boolean isPrimaryKey()
public boolean isUnique()
public boolean isIndexed()