public final class Catalog extends Object
SqlSemanticAnalyzer.analyze(sql, vendor, Catalog) without depending on
the internal gudusoft.gsqlparser.sqlenv.TSQLEnv type.
Construct via builder(); the returned Catalog is
immutable and safe to share across threads.
Identifier semantics (case folding, quoted vs unquoted, vendor
rules) are delegated to the analyzer's internal TSQLEnv bridge
— the DTO stores names exactly as written by the caller. A later slice
may introduce explicit identifier handling.
Failure-mode note (slice 75 contract preservation):
passing a null Catalog as the third argument of
SqlSemanticAnalyzer.analyze(String,
gudusoft.gsqlparser.EDbVendor,
gudusoft.gsqlparser.ir.semantic.catalog.Catalog) is equivalent to
calling the 2-arg analyze(sql, vendor) overload. Passing a
literal null third argument WITHOUT a cast is ambiguous at
compile time (the 3-arg analyze overloads accept either
Catalog or TSQLEnv, which are unrelated reference
types). Callers should use the 2-arg overload when no catalog is
available.
| Modifier and Type | Class and Description |
|---|---|
static class |
Catalog.Builder
Mutable builder for
Catalog. |
| Modifier and Type | Method and Description |
|---|---|
static Catalog.Builder |
builder() |
List<CatalogTable> |
getTables() |
String |
toString() |
public static Catalog.Builder builder()
public List<CatalogTable> getTables()