GetColumnDependencies
Retrieve the column dependencies of the specified view. The analysis is done based on the view definition, regardless of whether or not the view is cached.
This built-in procedure is discussed in the section “View Column Dependencies and References” in the TDV User Guide.
Location
/lib/resource/ (procedure)
/services/databases/system/lineage/ (published resource)
Inputs
resourcePath: The path to the resource to analyze. The supported resource types are TDV SQL views in plain or published form.
columnFilter (optional): A comma-separated sequence of case-insensitive column names, indicating the columns whose dependencies should be analyzed. An empty string or NULL indicates all view columns.
ignoreCaches: TRUE if the analysis should ignore whether dependent resources are cached or not, otherwise FALSE. The default is FALSE.
recursively: TRUE if the analysis should be performed recursively down to base-level dependencies. FALSE if the analysis should be performed at a single dependency level.
Outputs
columnDependencies: A cursor whose rows encode column dependencies, having the following columns:
• columnName: The name of the resource column having the column dependency encoded in the row.
• dependencyDatasourcePath: The path to the data source containing the resource that owns the dependency. Empty if not applicable.
• dependencyDatasourceType: The type of the data source containing the resource that owns the dependency. Empty if not applicable. The set of data source types consists of all the data source adapter names accepted by TDV.
• dependencyResourcePath: The path to the resource owning the dependency. Empty if not applicable.
• dependencyResourceType: The type of the resource owning the dependency. Empty if not applicable. The set of table or procedure resource types accepted by TDV is as follows:
• Database table
• Delimited file
• Excel table
• TDV SQL view
• System table
• SAP RT table
• SAP RFC table
• SAP AQ query table
• SAP Infoset query table
• Siebel table
• Database stored procedure
• Packaged query
• Java procedure
• Web Service operation
• TDV SQL Script procedure
• XQuery procedure
• XSLT procedure
• Transform procedure
• Basic transform procedure
• Stream transform procedure
• XQuery transform procedure
• XSLT transform procedure
• dependencyIdentifier: The column name if the dependency is on a column; otherwise, a literal.
• dependencyKind: One of the following:
• column: A dependency on a column.
• literal: A dependency on a constant value.
• parameter: A dependency on a dynamic value provided at runtime.
• derivationKind: One of the following:
• direct: The value of the dependency is preserved by the dependent column.
• indirect: The value of the dependency is transformed by the dependent column.
• cardinalityInfo: When applicable, one of the following:
• aggregate: An aggregate function is involved in the derivation of the dependent column.
• analytic: An analytic function is involved in the derivation of the dependent column.
• derivations: When the dependent column is not a direct projection of the dependency, this field denotes how the dependent column is derived.
• position: The line number and column number of the dependency formatted as [line number],[column number].
Exceptions
IllegalArgumentException: If the viewPath is malformed, the specified resource cannot be found, or the specified resource is impacted.