public class NameResolver extends Object
| Constructor and Description |
|---|
NameResolver(INameMatcher nameMatcher,
ResolutionContext context)
Deprecated.
Use NameResolver(TSQLResolverConfig, ResolutionContext) instead
|
NameResolver(TSQLResolverConfig config,
ResolutionContext context)
Create a NameResolver with full configuration.
|
| Modifier and Type | Method and Description |
|---|---|
List<INamespace> |
findNamespacesWithColumn(String columnName,
IScope scope) |
ResolutionContext |
getContext() |
INameMatcher |
getNameMatcher() |
static boolean |
isTrinoFamily(EDbVendor vendor)
Deprecated.
read
NestedAccessProfile.forVendor(vendor).isTrinoFamily() |
static boolean |
readsFieldChains(EDbVendor vendor)
Deprecated.
read
NestedAccessProfile.forVendor(vendor).readsFieldChains() |
ResolutionResult |
resolve(TObjectName objName,
IScope scope) |
ResolutionResult |
resolveInNamespace(String columnName,
INamespace namespace)
Resolve a column within a specific namespace (for direct lookups).
|
void |
setBindingTraceRegistry(BindingTraceRegistry registry) |
public NameResolver(TSQLResolverConfig config, ResolutionContext context)
config - The resolver configuration (includes name matcher and strategy)context - The resolution context for tracking results@Deprecated public NameResolver(INameMatcher nameMatcher, ResolutionContext context)
public void setBindingTraceRegistry(BindingTraceRegistry registry)
public ResolutionResult resolve(TObjectName objName, IScope scope)
@Deprecated public static boolean isTrinoFamily(EDbVendor vendor)
NestedAccessProfile.forVendor(vendor).isTrinoFamily()payload.items[1].name as table payload, payload.address.city as schema payload,
table address. So in this family TSQLResolver2 reads a column name from its dotted identifiers, a read
of a field is a read of its column, and lineage models a STRUCT column as the declared column
(Mantis 4811, 4822).vendor - the vendor of the analysis; a Trino analysis reads statements the Presto grammar stamped
dbvpresto@Deprecated public static boolean readsFieldChains(EDbVendor vendor)
NestedAccessProfile.forVendor(vendor).readsFieldChains()the Trino family
does: a qualifier that names a relation in scope is that relation, otherwise the first part is a column and
every later part a field of its STRUCT value. Hive, Spark SQL and Databricks resolve payload.name and
customer.address.city the same way, so their field reads are reads of the declared column with a field
path, and lineage models a STRUCT column as a tree, as for BigQuery and the Trino family (Mantis 4821, 4837).public ResolutionResult resolveInNamespace(String columnName, INamespace namespace)
public List<INamespace> findNamespacesWithColumn(String columnName, IScope scope)
public INameMatcher getNameMatcher()
public ResolutionContext getContext()