In this document, you will be able to see where Dataedo uses an SQL parser that uses the Snowflake dialect and what its capabilities are.
What is an SQL Parser?
A SQL parser is a tool that reads SQL code and converts it into a format that can be understood and processed by a computer. The parser is an important component of any metadata management system like Dataedo as it allows them to analyze SQL queries and fetch the relevant metadata.
Click to learn more about the other parser features.
Supported engines
Engines that use this dialect:
Automatic column-level lineage from SELECT/CREATE VIEW statements
Dataedo will create column-level data lineage for views and SQL queries based on the script. Just leave the "Automatic lineage" option selected during import.
If you disable the this feature during import, you will still be able to trigger the automated creation of column-level lineage through the "Parse Script to Lineage" functionality, which is located in the Script tab.
This function also works for manually added views that was created using a script, as well as for SQL Query objects.
Supported SQL syntax
We support the creation of an automatic lineage in all dialects for the following SQL syntax:
SELECT
andCREATE VIEW
statements,- Aliases,
- Functions and operators,
- UNIONs,
- JOINs,
- Subqueries and nested queries,
- CASEs and other logic-related expressions,
- Not Recursive Common Table Expressions (CTE).
We do not support the creation of an automatic lineage for the following SQL syntax:
- Statements that access nested data such JSON, XML, or objects as columns
PIVOT
andUNPIVOT
relational operators,- Recursive Common Table Expressions (Recursive CTE),
- Window functions,
- Referencing to alias on the same level (e.g.
SELECT 1+1 AS "reference", "reference"
) - Renaming columns from asterisk (e.g.
SELECT table_a.* RENAME column_in_table_a AS col_alias_a FROM table_a
) - Excluding columns from asterisk (e.g.
SELECT table_a.* EXCLUDE column_in_table_a FROM table_a
)