public final class IdentityPolicy extends Object
The standard's rule data, not GSP's name service, decides a document's canonical keys, so a portable
identity is only honest when GSP analyses under the same naming policy that the dependency snapshot declares
(lineage-spec/snapshots/FORMAT.md, Section 6: different settings are a different snapshot). The
producer ships one snapshot, the draft snapshot, so:
LOCAL);SqllrProducerException, never published under a snapshot
that does not describe it.| Modifier and Type | Field and Description |
|---|---|
static String |
CONFIGURATION_UNSUPPORTED
The error code of a refused configuration.
|
| Modifier and Type | Method and Description |
|---|---|
static String |
dialectCode(EDbVendor vendor)
The SQL-LR dialect code of a vendor whose identifier rules the draft snapshot carries, or
null. |
String |
getDialect()
The dialect code, or
null when the vendor mints no portable identity. |
SegmentKeyV1 |
getKeys()
The key function;
null when isPortable() is false. |
String |
getSnapshotId()
The id of the snapshot in force: the shipped one, also for a dialect outside its rule sets, whose analysis still
runs under its algorithms, profiles and canonical forms and mints no portable identity (the analysis context
requires the id, spec Section 6.2; plan 06 gate E4).
|
EDbVendor |
getVendor() |
boolean |
isPortable()
Whether endpoints of this analysis can be
PORTABLE at all. |
static IdentityPolicy |
of(EDbVendor vendor,
IdentifierProfile effective)
The policy of one analysis.
|
static Map<EDbVendor,String> |
portableVendors()
The vendors that can mint portable identities.
|
public static final String CONFIGURATION_UNSUPPORTED
public static String dialectCode(EDbVendor vendor)
null.
Derived dialects (Greenplum, Redshift, GaussDB, ...) are not mapped: their naming rules are not the
parent's.public static Map<EDbVendor,String> portableVendors()
public static IdentityPolicy of(EDbVendor vendor, IdentifierProfile effective)
vendor - the analysed vendoreffective - the analysis's frozen identifier profile; null means the vendor defaultSqllrProducerException - CONFIGURATION_UNSUPPORTED when the vendor has a rule set but the
profile differs from the vendor default the draft snapshot describespublic String getDialect()
null when the vendor mints no portable identity.public boolean isPortable()
PORTABLE at all.public SegmentKeyV1 getKeys()
null when isPortable() is false.public String getSnapshotId()