public final class DynamicLineageOptions extends Object
resolveDynamicSqlLineage.
The evaluated dynamic-SQL string is effectively attacker-controlled (it is built from runtime parameter values), so every dimension that an adversarial or pathological procedure could blow up is capped. When a bound is exceeded the affected site fails closed to an unresolved diagnostic — never a hang, never an OOM, never a fabricated edge.
| Constructor and Description |
|---|
DynamicLineageOptions() |
| Modifier and Type | Method and Description |
|---|---|
static DynamicLineageOptions |
createDefault() |
int |
getMaxBindings() |
int |
getMaxConstantRelationRows()
Compatibility alias for callers that use the longer relation-cap name.
|
int |
getMaxConstRelationRows()
Maximum number of literal rows retained for one T-SQL table variable or local temporary table (default 1024);
an INSERT beyond it makes the relation opaque.
|
int |
getMaxExpansionDepth() |
int |
getMaxResolvedSqlLength() |
int |
getMaxSites() |
int |
getMaxValueSetSize()
Maximum number of distinct statically-enumerated values (or correlated
row tuples) retained by the dynamic-SQL evaluator.
|
long |
getTimeoutMillis() |
DynamicSqlTrustMode |
getTrustMode()
Controls observation of edges from a materialized string that still has
unresolved fragments.
|
boolean |
isCaseSensitiveCompare()
Whether a query over a literal relation (a table variable or temporary table the procedure fills with literal
rows) compares strings case-sensitively.
|
boolean |
isShowImplicitSchema() |
DynamicLineageOptions |
setCaseSensitiveCompare(boolean v) |
DynamicLineageOptions |
setMaxBindings(int v) |
DynamicLineageOptions |
setMaxConstantRelationRows(int v) |
DynamicLineageOptions |
setMaxConstRelationRows(int v) |
DynamicLineageOptions |
setMaxExpansionDepth(int v) |
DynamicLineageOptions |
setMaxResolvedSqlLength(int v) |
DynamicLineageOptions |
setMaxSites(int v) |
DynamicLineageOptions |
setMaxValueSetSize(int v) |
DynamicLineageOptions |
setShowImplicitSchema(boolean v) |
DynamicLineageOptions |
setTimeoutMillis(long v) |
DynamicLineageOptions |
setTrustMode(DynamicSqlTrustMode v) |
public DynamicLineageOptions()
public static DynamicLineageOptions createDefault()
public int getMaxResolvedSqlLength()
public DynamicLineageOptions setMaxResolvedSqlLength(int v)
public int getMaxSites()
public DynamicLineageOptions setMaxSites(int v)
public int getMaxBindings()
public DynamicLineageOptions setMaxBindings(int v)
public int getMaxValueSetSize()
public DynamicLineageOptions setMaxValueSetSize(int v)
public int getMaxConstRelationRows()
public DynamicLineageOptions setMaxConstRelationRows(int v)
public int getMaxConstantRelationRows()
public DynamicLineageOptions setMaxConstantRelationRows(int v)
public int getMaxExpansionDepth()
public DynamicLineageOptions setMaxExpansionDepth(int v)
public long getTimeoutMillis()
public DynamicLineageOptions setTimeoutMillis(long v)
public boolean isShowImplicitSchema()
public DynamicLineageOptions setShowImplicitSchema(boolean v)
public boolean isCaseSensitiveCompare()
_CI_AS collations compare
case-insensitively; trailing spaces are ignored either way (Mantis 4962).public DynamicLineageOptions setCaseSensitiveCompare(boolean v)
public DynamicSqlTrustMode getTrustMode()
DynamicSqlTrustMode.LEGACY for
backwards compatibility.public DynamicLineageOptions setTrustMode(DynamicSqlTrustMode v)