public final class LegacyDlineageWireNamesV1 extends Object
Each segment is IdentifierService.normalizeStatic of the name, upper-cased where the legacy collation
classes call the role case-insensitive (SQLUtil#legacyNormalSegment). A name that shares that string with
a different name of the same analysis gets a name of its own (NormalNameCollisions), except in the
normalize-output relabel, which asks for the bare legacy fold (LegacyDlineageWireNamesV1.Profile.NORMALIZED_OUTPUT).
This is a compatibility renderer, not identity. Call it only where a name is PUBLISHED:
LegacyDlineageWireNamesV1.Profile.NORMALIZED_OUTPUT);normalizedName.CanonKey,
QualifiedCanonKey, DlineageUtil.getTableIdentityKey(java.lang.String), DlineageUtil.lexicalColumnKey(gudusoft.gsqlparser.EDbVendor, java.lang.String)). The one
exception is explicit: the compatibility bucket of a name that carries no identity (tableBucket(java.lang.String),
columnBucket(java.lang.String), columnSegmentBucket(java.lang.String)).
The strings it gives are the published contract of dlineage output version 1. The name service's stored form (the vendor's own bare name) is another output version, not a fix to this one.
| Modifier and Type | Class and Description |
|---|---|
static class |
LegacyDlineageWireNamesV1.Profile
Which names of output version 1 to render.
|
| Modifier and Type | Method and Description |
|---|---|
static String |
columnBucket(String name)
The compatibility bucket of a column's name that carries no identity (a label, a column read back from a
serialized document): its published form in output version 1.
|
static String |
columnName(EDbVendor vendor,
String name)
The published form of a column name, qualified or not.
|
static String |
columnName(String name)
The published form of a column name, qualified or not, under the analysis's vendor.
|
static String |
columnName(TObjectName column)
The published form of a column reference's own segment: its column name, or the whole reference where it has
none.
|
static String |
columnSegment(EDbVendor vendor,
String name)
The published form of one column segment: the fold without the qualified-name layout.
|
static String |
columnSegment(String name)
The published form of one column segment: the fold without the qualified-name layout.
|
static String |
columnSegmentBucket(String name)
columnBucket(java.lang.String) of one column segment, without the qualified-name layout. |
static String |
functionName(String name)
The published form of a routine name under the analysis's vendor.
|
static String |
name(EDbVendor vendor,
String name,
ESQLDataObjectType objectType)
The published form of a name of the given role, qualified or not.
|
static String |
name(LegacyDlineageWireNamesV1.Profile profile,
EDbVendor vendor,
String name,
ESQLDataObjectType objectType)
The published form of a name field of the given role, in the given profile.
|
static String |
name(LegacyDlineageWireNamesV1.Profile profile,
String name,
ESQLDataObjectType objectType)
The published form of a name field of the given role under the analysis's vendor, in the given profile.
|
static String |
name(String name,
ESQLDataObjectType objectType)
The published form of a name of the given role, qualified or not, under the analysis's vendor.
|
static String |
segment(EDbVendor vendor,
ESQLDataObjectType objectType,
String name)
The published form of one name segment of the given role (a database link, a column).
|
static String |
tableBucket(String qualifiedName)
The compatibility bucket of a table's name that carries no identity: its published form in output version 1,
the only evidence a merge has left.
|
static String |
tableName(EDbVendor vendor,
String name)
The published form of a table name.
|
static String |
tableName(String name)
The published form of a table reference under the analysis's vendor.
|
public static String name(String name, ESQLDataObjectType objectType)
public static String name(LegacyDlineageWireNamesV1.Profile profile, String name, ESQLDataObjectType objectType)
public static String name(EDbVendor vendor, String name, ESQLDataObjectType objectType)
public static String name(LegacyDlineageWireNamesV1.Profile profile, EDbVendor vendor, String name, ESQLDataObjectType objectType)
public static String columnName(String name)
public static String columnName(EDbVendor vendor, String name)
public static String columnName(TObjectName column)
public static String columnSegment(String name)
public static String columnSegment(EDbVendor vendor, String name)
public static String segment(EDbVendor vendor, ESQLDataObjectType objectType, String name)
public static String functionName(String name)
public static String tableBucket(String qualifiedName)
PhysicalTableMergeKeys). Not an identity: two
tables of one bucket stay apart wherever an identity tells them apart.public static String columnBucket(String name)
tableBucket(java.lang.String).public static String columnSegmentBucket(String name)
columnBucket(java.lang.String) of one column segment, without the qualified-name layout.public static String tableName(EDbVendor vendor, String name)