| Package | Description |
|---|---|
| gudusoft.gsqlparser.ir.semantic.binding | |
| gudusoft.gsqlparser.ir.semantic.builder |
| Modifier and Type | Class and Description |
|---|---|
class |
Resolver2NameBindingProvider
NameBindingProvider backed by the data already attached to AST
nodes by TSQLResolver2 during TGSqlParser.parse(). |
| Modifier and Type | Method and Description |
|---|---|
default NameBindingProvider |
NameBindingProvider.withCteContext(Set<String> cteNamesInScope)
Return a new provider configured for a CTE scope.
|
NameBindingProvider |
Resolver2NameBindingProvider.withCteContext(Set<String> cteNamesInScope) |
default NameBindingProvider |
NameBindingProvider.withInScopeRelationColumns(Map<String,List<String>> nameToColumns)
Slice 60 — return a new provider scoped with a map of "in-scope
relation alias → published column names" for the current
consuming SELECT.
|
NameBindingProvider |
Resolver2NameBindingProvider.withInScopeRelationColumns(Map<String,List<String>> nameToColumns) |
default NameBindingProvider |
NameBindingProvider.withSourceTableFallback(boolean enabled)
Slice 93 — return a new provider that trusts Phase 1's
linkColumnToTable-set TObjectName.getSourceTable()
as an EXACT_MATCH when Phase 2 (TSQLResolver2) left
TObjectName.getResolution() null. |
NameBindingProvider |
Resolver2NameBindingProvider.withSourceTableFallback(boolean enabled) |
default NameBindingProvider |
NameBindingProvider.withTolerantOuterBinding(Set<String> innerLocalAliasesLower)
Slice 117 — return a new provider that admits qualified outer-scope
column references as synthetic EXACT_MATCH bindings instead of
letting them surface as
NOT_FOUND. |
NameBindingProvider |
Resolver2NameBindingProvider.withTolerantOuterBinding(Set<String> innerLocalAliasesLower) |
default NameBindingProvider |
NameBindingProvider.withUsingScope(UsingScope scope)
Slice 65 — return a new provider scoped with the
UsingScope
for the current SELECT body. |
NameBindingProvider |
Resolver2NameBindingProvider.withUsingScope(UsingScope scope) |
| Modifier and Type | Method and Description |
|---|---|
static SemanticProgram |
SemanticIRBuilder.build(TSelectSqlStatement select,
NameBindingProvider provider) |
static SemanticProgram |
SemanticIRBuilder.buildCreateTable(TCreateTableSqlStatement create,
NameBindingProvider provider)
Slice 79 — admit a single
CREATE TABLE target [(c1, ...)] AS
SELECT ... (CTAS) statement. |
static SemanticProgram |
SemanticIRBuilder.buildCreateView(TCreateViewSqlStatement create,
NameBindingProvider provider)
Slice 79 — admit a single
CREATE [OR REPLACE] VIEW v [(c1, ...)] AS SELECT ...
statement. |
static SemanticProgram |
SemanticIRBuilder.buildDelete(TDeleteSqlStatement delete,
NameBindingProvider provider)
Slice 81 / slice 84 — admit single-target and joined
DELETE statements and produce a "DELETE"-kind
StatementGraph (§8.1.4 row D11 follow-up via slice 84's
joined-DELETE candidate (a)). |
static SemanticProgram |
SemanticIRBuilder.buildInsert(TInsertSqlStatement insert,
NameBindingProvider provider)
Slice 78 — admit a single
INSERT INTO target SELECT ...
statement. |
static SemanticProgram |
SemanticIRBuilder.buildMerge(TMergeSqlStatement merge,
NameBindingProvider provider)
Slice 94 — admit the single-target MERGE skeleton:
|
static SemanticProgram |
SemanticIRBuilder.buildUpdate(TUpdateSqlStatement update,
NameBindingProvider provider)
Slice 80 / 82 — admit {@code UPDATE target SET c1 = expr1,
c2 = expr2, ...
|