Aim of our service is to replace manual SQL code analysis. Our SQL parser reverse engineers SQL syntax and captures the dependencies in it.
Generally speaking any valid SQL query successfully executed on your database is expected to be processed by our SQL parser as well.
Supported database dialects
- MS SQL Server (incl. Azure)
- Postgres (experimental)
note: contact us if are interested in implementing different DB dialect
Supported SQL syntax
All DML statements with an impact on data lineage are supported. There are no restrictions on how the query should look like. You are free to use nested subselects, aliases, use alternative ways how to express joins such
LEFT JOIN vs
(+) , use cross database references, etc.
All relevant DDL statements are supported. This includes:
- table definitions (incl.
CREATE TABLE AS SELECT)
- view definitions (incl.
CREATE VIEW AS SELECT)
- database links
- object synonyms
Primary aim of our service is to track data lineage. Therefore you can pass
UPDATE STATISTICS but we have nothing interesting to extract and visualise from it.
note: we had zero request for
TRIGGERS so they are being ignored by SQL parser
Stored procedures and functions
Procedural code is within scope however limitations exists of what part of such code is parsed/analysed. Overall the SQLdep is:
- the best option for ETL based on procedural code
- not suited for transactional system
Transactional systems typically perform single row operation while using heavy logic hidden in procedural code. In contrast ETL jobs are using stored procedures with complex SQL statements and are performing "bulk" loads.
HINT: feel free to discuss specifics of your procedural code with our support
Parsing dynamic queries is out-of-scope for our SQL parser. You can overcome this problem by logging dynamic queries and thus changing them into static ones. In that case you would upload stored procedure + logged queries.
Syntax enhancements & tech support
We guarantee to support any SQL syntax used by our customers. This claim is backed by automated detection of any unsupported syntax. Engineering team gets notified and enhancements are commonly implemented within 2 days.